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
Diff: spi/AferoCommHndlr.cpp
- Revision:
- 0:20bce0dcc921
- Child:
- 1:b2a9a6f2c30e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spi/AferoCommHndlr.cpp Tue Dec 20 01:51:02 2016 +0000 @@ -0,0 +1,93 @@ +#include "AferoCommHndlr.h" + +static AferoCommHndlr *self = NULL; + +AferoCommHndlr::AferoCommHndlr() +{ +} + +void +AferoCommHndlr::loop() +{ + piafLib->loop(); + todoQ->loop(); +} + +AferoCommHndlr* +AferoCommHndlr::create(Timer *timer, mbedSPI *spi) +{ + SERIAL_PRINT_DBG("HELLO\n"); + self = new AferoCommHndlr(); + self->timer = timer; + self->piafLib = iafLib::create(SPI_SLAVE_INT, + AferoCommHndlr::fco_irq_fall, + AferoCommHndlr::myOnAttributeSet, + AferoCommHndlr::myOnAttributeSetComplete, spi); + self->todoQ = ToDoQ::create(AferoCommHndlr::onGetTodo); + SERIAL_PRINT_DBG("AferoCommHndlr init done\n"); + return self; +} + +void +AferoCommHndlr::myOnAttributeSet( + const uint8_t requestId, + const uint16_t attributeId, + const uint16_t valueLen, + const uint8_t *value) +{ + self->piafLib->setAttributeComplete(requestId, attributeId, valueLen, value); +} + +void +AferoCommHndlr::myOnAttributeSetComplete( + const uint8_t requestId, + const uint16_t attributeId, + const uint16_t valueLen, + const uint8_t *value) +{ + if(attributeId==ATTR_ID_SENSING_INTERVAL) + { + + } + else if(attributeId==ATTR_ID_SENSE_VAL) + { + //self->timeoutUpload.attach(&AferoCommHndlr::updateToAferoCloud,1); + } +} + +void +AferoCommHndlr::fco_irq_fall() +{ + if(self->piafLib) + { + self->piafLib->mcuISR(); + } +} + +void +AferoCommHndlr::onGetTodo(ToDo *todo) +{ + SERIAL_PRINT_DBG("AferoCommHndlr::onGetTodo()\n"); + char buf[255]; + memset(buf,'\0',sizeof(buf)); + if(todo!=NULL) + { + todo->toJSON(buf); + SERIAL_PRINT_DBG("%s\n",buf); + self->piafLib->setAttribute(ATTR_ID_SENSE_VAL,strlen(buf),buf); + } +} +/* +void +AferoCommHndlr::onGetTodo(ToDo *todo) +{ + char buf[255]; + memset(buf,'\0',sizeof(buf)); + if(todo!=NULL) + { + todo->toJSON(buf); + SERIAL_PRINT_DBG("%s\n",buf); + self->piafLib->setAttribute(ATTR_ID_SENSE_VAL,strlen(buf),buf); + } +} +*/ \ No newline at end of file