stm32f103rb_hal_ds18b20

Index Commits Files Refs README
app/inc/task_sensor_attribute.h (1914B)
   1 /*
   2  * Copyright (c) 2023 Juan Manuel Cruz <jcruz@fi.uba.ar> <jcruz@frba.utn.edu.ar>.
   3  * Copyright (c) 2026 Martin Javier Klöckner <mklockner@fi.uba.ar>
   4  *
   5  * See file `LICENSE` for full details
   6  */
   7 
   8 #ifndef TASK_INC_TASK_SENSOR_ATTRIBUTE_H_
   9 #define TASK_INC_TASK_SENSOR_ATTRIBUTE_H_
  10 
  11 #ifdef __cplusplus
  12 extern "C" {
  13 #endif
  14 
  15 /* Sensor Statechart - State Transition Table
  16  *
  17  * +---------------+----------------------+-------------+--------------+--------------------------+
  18  * | Current state | Event                | [Guard]     | Next state   | Actions                  |
  19  * +===============+======================+=============+==============+==========================+
  20  * |               |                      | [tick == 0] | ST_SEN_BUSY  | DS18B20_Read_temp()      |
  21  * + ST_SEN_READY  +----------------------+-------------+--------------+--------------------------+
  22  * |               |                      |             | ST_SEN_READY | tick--                   |
  23  * +---------------+----------------------+-------------+--------------+--------------------------+
  24  * | ST_SEN_BUSY   | EV_DS18B20_CONV_DONE |             | ST_SEN_READY | tick =  TEMP_READ_PERIOD |
  25  * +---------------+----------------------+-------------+--------------+--------------------------+
  26  *
  27  */
  28 
  29 /* Events to excite Task Sensor */
  30 typedef enum {
  31     EV_DS18B20_CONV_DONE
  32 } task_sensor_ev_t;
  33 
  34 /* States of Task Sensor */
  35 typedef enum {
  36     ST_SEN_READY,
  37     ST_SEN_BUSY_WAITING_CONV,
  38     ST_SEN_BUSY_WAITING_DMA,
  39 } task_sensor_st_t;
  40 
  41 /* Identifier of Task Sensor */
  42 typedef enum {
  43     ID_DS18B20
  44 } task_sensor_id_t;
  45 
  46 typedef struct {
  47     task_sensor_id_t identifier;
  48 } task_sensor_cfg_t;
  49 
  50 typedef struct {
  51     uint32_t tick;
  52     task_sensor_st_t state;
  53     task_sensor_ev_t event;
  54 } task_sensor_dta_t;
  55 
  56 extern task_sensor_dta_t task_sensor_dta_list[];
  57 
  58 #ifdef __cplusplus
  59 }
  60 #endif
  61 
  62 #endif /* TASK_INC_TASK_SENSOR_ATTRIBUTE_H_ */