pwm period is now 200us instead of the default 20ms veml6040 config is now AF_BIT | TRIG_BIT
Dependencies: mbed MMA8451Q USBDevice WakeUp vt100
Fork of afero_node_suntory_2017_06_15 by
spi/AferoCommHndlr.h@14:b205267fa5f6, 2017-05-16 (annotated)
- Committer:
- wataloh
- Date:
- Tue May 16 08:58:26 2017 +0000
- Revision:
- 14:b205267fa5f6
- Parent:
- 6:88cc04eb613a
- Child:
- 16:283828f1f6fe
+ flow control; + 1 second interval between each transaction
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wataloh | 0:20bce0dcc921 | 1 | #ifndef _AFERO_COMM_HNDLR_ |
wataloh | 0:20bce0dcc921 | 2 | #define _AFERO_COMM_HNDLR_ |
wataloh | 0:20bce0dcc921 | 3 | |
wataloh | 0:20bce0dcc921 | 4 | #include "mbed.h" |
wataloh | 0:20bce0dcc921 | 5 | #include "pin_defines.h" |
wataloh | 0:20bce0dcc921 | 6 | #include "mbedSPI.h" |
wataloh | 0:20bce0dcc921 | 7 | #include "afLib.h" |
wataloh | 0:20bce0dcc921 | 8 | #include "ToDoQ.h" |
wataloh | 2:dfe671e31221 | 9 | #include "Preferences.hpp" |
wataloh | 2:dfe671e31221 | 10 | #include "RTC_Handler.h" |
wataloh | 6:88cc04eb613a | 11 | #include "WatchDoggy.hpp" |
wataloh | 0:20bce0dcc921 | 12 | |
wataloh | 0:20bce0dcc921 | 13 | #define ATTR_ID_SENSE_VAL 1 |
wataloh | 1:b2a9a6f2c30e | 14 | #define ATTR_ID_FLOW_CONTROL 4 |
wataloh | 0:20bce0dcc921 | 15 | #define ATTR_ID_SENSING_INTERVAL 3 |
wataloh | 0:20bce0dcc921 | 16 | |
wataloh | 0:20bce0dcc921 | 17 | using namespace MaruSolSensorManager; |
wataloh | 0:20bce0dcc921 | 18 | |
wataloh | 0:20bce0dcc921 | 19 | class AferoCommHndlr |
wataloh | 0:20bce0dcc921 | 20 | { |
wataloh | 0:20bce0dcc921 | 21 | public: |
wataloh | 0:20bce0dcc921 | 22 | void loop(); |
wataloh | 0:20bce0dcc921 | 23 | static void init(); |
wataloh | 0:20bce0dcc921 | 24 | static AferoCommHndlr *create(Timer *timer, mbedSPI *spi); |
wataloh | 0:20bce0dcc921 | 25 | void update(); |
wataloh | 4:b38e09f24711 | 26 | int32_t sanitizeSensingInterval(uint16_t attributeId, int32_t interval); |
wataloh | 6:88cc04eb613a | 27 | Timeout *deathWish; |
wataloh | 6:88cc04eb613a | 28 | static void kick_the_bucket(); |
wataloh | 14:b205267fa5f6 | 29 | void _myOnAttributeSetComplete(const uint8_t requestId, const uint16_t attributeId, const uint16_t valueLen, const uint8_t *value); |
wataloh | 0:20bce0dcc921 | 30 | private: |
wataloh | 14:b205267fa5f6 | 31 | bool _onGetTodo(ToDo *todo); |
wataloh | 14:b205267fa5f6 | 32 | bool _onGetTodoFalsy(ToDo *todo); |
wataloh | 14:b205267fa5f6 | 33 | bool (AferoCommHndlr::*_onGetTodoP)(ToDo *todo); |
wataloh | 1:b2a9a6f2c30e | 34 | bool flowControlEnabled; //ATTR_ID_FLOW_CONTROL; |
wataloh | 0:20bce0dcc921 | 35 | ToDoQ *todoQ; |
wataloh | 0:20bce0dcc921 | 36 | uint8_t sem; |
wataloh | 0:20bce0dcc921 | 37 | AferoCommHndlr(); |
wataloh | 0:20bce0dcc921 | 38 | iafLib *piafLib; |
wataloh | 0:20bce0dcc921 | 39 | static void fco_irq_fall(); |
wataloh | 0:20bce0dcc921 | 40 | static void myOnAttributeSet(const uint8_t requestId, const uint16_t attributeId, const uint16_t valueLen, const uint8_t *value); |
wataloh | 0:20bce0dcc921 | 41 | static void myOnAttributeSetComplete(const uint8_t requestId, const uint16_t attributeId, const uint16_t valueLen, const uint8_t *value); |
wataloh | 14:b205267fa5f6 | 42 | static bool onGetTodo(ToDo *todo); |
wataloh | 0:20bce0dcc921 | 43 | mbedSPI *spi; |
wataloh | 0:20bce0dcc921 | 44 | Timer *timer; |
wataloh | 14:b205267fa5f6 | 45 | Timeout *setAttrCmpDelay; |
wataloh | 14:b205267fa5f6 | 46 | static void onSetAttrCmpDelay(); |
wataloh | 0:20bce0dcc921 | 47 | }; |
wataloh | 0:20bce0dcc921 | 48 | |
wataloh | 0:20bce0dcc921 | 49 | #endif //_AFERO_COMM_HNDLR_ |