Orefatoi
/
afero_poc15_171201
POC1.5 prototype 2 x color sensor 2 x LM75B 3 x AnalogIn 1 x accel
Diff: af_utils/af_attriburtes.cpp
- Revision:
- 4:aa67eddf0ab1
- Parent:
- 3:cac964851bb6
- Child:
- 5:eba500888787
--- a/af_utils/af_attriburtes.cpp Mon Dec 04 02:47:38 2017 +0000 +++ b/af_utils/af_attriburtes.cpp Tue Dec 05 00:18:45 2017 +0000 @@ -249,6 +249,7 @@ switch(attributeId) { case ATTR_LINKED_TIMESTAMP: /* timestamp */ set_time(valueLen, value) ; + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; printf("timestampe = %d\n", timestamp) ; // print_date(¤t_time) ; print_time(¤t_time) ; @@ -261,6 +262,7 @@ display->locate(0,0) ; display->putStr("System Rebooting!") ; } + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; wait(1) ; software_reset() ; } @@ -271,18 +273,17 @@ printf("Accel Enabled\n") ; sensor[0]->reset() ; sensor[0]->enable() ; - afero->setAttributeBool(ATTR_ACCEL_ENABLE, true) ; } else if (sensor[0]){ printf("Accel Disabled\n") ; sensor[0]->disable() ; - afero->setAttributeBool(ATTR_ACCEL_ENABLE, false) ; } + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_ACCEL_INTERVAL: if (sensor[0]) { sensor[0]->setInterval((value[1] << 8) | value[0]) ; - afero->setAttribute(ATTR_ACCEL_INTERVAL, 2, value) ; + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_COLOR0_ENABLE: /* color0 enable */ @@ -290,17 +291,16 @@ if (value[0]) { sensor[1]->reset() ; sensor[1]->enable() ; - afero->setAttributeBool(ATTR_COLOR0_ENABLE, true) ; } else { sensor[1]->disable() ; - afero->setAttributeBool(ATTR_COLOR0_ENABLE, false) ; } + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_COLOR0_INTERVAL: if (sensor[1]) { sensor[1]->setInterval((value[1] << 8) | value[0]) ; - afero->setAttribute(ATTR_COLOR0_INTERVAL, 2, value) ; + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_COLOR0_TRIGMODE: /* color0 config */ @@ -310,7 +310,7 @@ config = config | 0x06 ; } ((edge_color*)sensor[1])->setConfig(config) ; - afero->setAttribute(ATTR_COLOR0_TRIGMODE, 1, value) ; + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_COLOR0_ITIME: /* color0 config */ @@ -318,13 +318,13 @@ uint8_t config = ((edge_color*)sensor[1])->getConfig() & 0x07 ; config = (value[0] << 4) | config ; ((edge_color*)sensor[1])->setConfig(config) ; - afero->setAttribute(ATTR_COLOR0_ITIME, 1, value) ; + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_COLOR0_PWM_PERIOD: /* color0 pwm period */ if (sensor[1]) { ((edge_color*)sensor[1])->set_pwm_period((value[1] << 8) | value[0]) ; - afero->setAttribute(ATTR_COLOR0_PWM_PERIOD, 2, value) ; + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_COLOR0_PWM_TARGET: /* color0 pwm calibration target */ @@ -332,7 +332,7 @@ color0_target[0] = (value[1] << 8) | value[0] ; color0_target[1] = color0_target[0] ; color0_target[2] = color0_target[1] ; - afero->setAttribute(ATTR_COLOR0_PWM_TARGET, 2, value) ; + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_COLOR0_CALIBRATE: /* calibrate color0 */ @@ -342,6 +342,7 @@ afero->setAttribute32(ATTR_COLOR0_PWM_G, color0_pwm[1]) ; afero->setAttribute32(ATTR_COLOR0_PWM_B, color0_pwm[2]) ; } + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; afero->setAttributeBool(ATTR_COLOR0_CALIBRATE, false) ; break ; case ATTR_COLOR1_ENABLE: /* color1 enable */ @@ -349,17 +350,16 @@ if (value[0]) { sensor[2]->reset() ; sensor[2]->enable() ; - afero->setAttributeBool(ATTR_COLOR1_ENABLE, true) ; } else { sensor[2]->disable() ; - afero->setAttributeBool(ATTR_COLOR1_ENABLE, false) ; } + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_COLOR1_INTERVAL: if (sensor[2]) { sensor[2]->setInterval((value[1] << 8) | value[0]) ; - afero->setAttribute(ATTR_COLOR1_INTERVAL, 2, value) ; + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_COLOR1_TRIGMODE: /* color0 config */ @@ -369,7 +369,7 @@ config = config | 0x06 ; } ((edge_color*)sensor[2])->setConfig(config) ; - afero->setAttribute(ATTR_COLOR1_TRIGMODE, 1, value) ; + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_COLOR1_ITIME: /* color0 config */ @@ -377,13 +377,13 @@ uint8_t config = ((edge_color*)sensor[2])->getConfig() & 0x07 ; config = (value[0] << 4) | config ; ((edge_color*)sensor[2])->setConfig(config) ; - afero->setAttribute(ATTR_COLOR1_ITIME, 1, value) ; + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_COLOR1_PWM_PERIOD: /* color0 pwm period */ if (sensor[2]) { ((edge_color*)sensor[2])->set_pwm_period((value[1] << 8) | value[0]) ; - afero->setAttribute(ATTR_COLOR1_PWM_PERIOD, 2, value) ; + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_COLOR1_PWM_TARGET: /* color0 pwm calibration target */ @@ -391,7 +391,7 @@ color1_target[0] = (value[1] << 8) | value[0] ; color1_target[1] = color0_target[0] ; color1_target[2] = color0_target[1] ; - afero->setAttribute(ATTR_COLOR1_PWM_TARGET, 2, value) ; + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_COLOR1_CALIBRATE: /* calibrate color1 */ @@ -401,6 +401,7 @@ afero->setAttribute32(ATTR_COLOR1_PWM_G, color1_pwm[1]) ; afero->setAttribute32(ATTR_COLOR1_PWM_B, color1_pwm[2]) ; } + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; afero->setAttributeBool(ATTR_COLOR1_CALIBRATE, false) ; break ; case ATTR_TEMP0_ENABLE: /* temp0 is used to control temp-sensors */ @@ -408,17 +409,16 @@ if (value[0]) { sensor[3]->reset() ; sensor[3]->enable() ; - afero->setAttributeBool(ATTR_TEMP0_ENABLE, true) ; } else { sensor[3]->disable() ; - afero->setAttributeBool(ATTR_TEMP0_ENABLE, false) ; } + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_TEMP0_INTERVAL: if (sensor[3]) { sensor[3]->setInterval((value[1] << 8) | value[0]) ; - afero->setAttribute(ATTR_TEMP0_INTERVAL, 2, value) ; + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_TEMP3_ENABLE: /* temp3 enable */ @@ -428,17 +428,16 @@ if (value[0]) { sensor[4]->reset() ; sensor[4]->enable() ; - afero->setAttributeBool(ATTR_GAS_ENABLE, true) ; } else { sensor[4]->disable() ; - afero->setAttributeBool(ATTR_GAS_ENABLE, false) ; } + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; case ATTR_GAS_INTERVAL: if (sensor[4]) { sensor[4]->setInterval((value[1] << 8) | value[0]) ; - afero->setAttribute(ATTR_GAS_INTERVAL, 2, value) ; + afero->setAttributeComplete(requestId, attributeId, valueLen, value) ; } break ; default: