Hi again!
I'm trying the dynamic approach but still something is not right...
This is my code:
Code: Select all
#define MAP_TO_ZEROCHANNEL 0x80
ZUNO_ENABLE(WITH_CC_SENSOR_MULTILEVEL);
ZUNO_DYNAMIC_CHANNELS(3);
unsigned int counterIngressi = 0;
unsigned int counterUscite = 0;
unsigned int counterPresenze = 0;
void setup() {
// DEFINIZIONE DELLA GESTIONE DINAMICA DEI CANALI
ZUNO_START_CONFIG();
ZUNO_SET_ZWCHANNEL(1| MAP_TO_ZEROCHANNEL); // <- this channel will be provided via 1 & 0 channels
ZUNO_ADD_CHANNEL(ZUNO_SENSOR_MULTILEVEL_CHANNEL_NUMBER, ZUNO_SENSOR_MULTILEVEL_TYPE_GENERAL_PURPOSE_VALUE, SENSOR_MULTILEVEL_PROPERTIES_COMBINER( SENSOR_MULTILEVEL_SCALE_LOCAL, SENSOR_MULTILEVEL_SIZE_FOUR_BYTES, SENSOR_MULTILEVEL_PRECISION_TWO_DECIMALS));
ZUNO_SET_ZWCHANNEL(2);
ZUNO_ADD_CHANNEL(ZUNO_SENSOR_MULTILEVEL_CHANNEL_NUMBER, ZUNO_SENSOR_MULTILEVEL_TYPE_GENERAL_PURPOSE_VALUE, SENSOR_MULTILEVEL_PROPERTIES_COMBINER( SENSOR_MULTILEVEL_SCALE_LOCAL, SENSOR_MULTILEVEL_SIZE_FOUR_BYTES, SENSOR_MULTILEVEL_PRECISION_TWO_DECIMALS));
ZUNO_SET_ZWCHANNEL(3);
ZUNO_ADD_CHANNEL(ZUNO_SENSOR_MULTILEVEL_CHANNEL_NUMBER, ZUNO_SENSOR_MULTILEVEL_TYPE_GENERAL_PURPOSE_VALUE, SENSOR_MULTILEVEL_PROPERTIES_COMBINER( SENSOR_MULTILEVEL_SCALE_LOCAL, SENSOR_MULTILEVEL_SIZE_FOUR_BYTES, SENSOR_MULTILEVEL_PRECISION_TWO_DECIMALS));
ZUNO_COMMIT_CONFIG();
//....
Serial.begin(115200);
counterIngressi = 0;
counterUscite = 0;
counterPresenze = 0;
pinMode(20, OUTPUT); // sets the digital pin as output
}
void loop() {
g_channels_data[0].dwParam = counterIngressi;
g_channels_data[1].dwParam = counterUscite;
g_channels_data[2].dwParam = counterPresenze;
bool inNetwork = zunoInNetwork();
if(inNetwork==1) Serial.println("Device in network");
else Serial.println("Device not in network");
if (Serial.available() > 0) {
// read the incoming byte:
counterIngressi = Serial.parseInt();
counterUscite = Serial.parseInt();
counterPresenze = Serial.parseInt();
if(Serial.read()=='\n') {
digitalWrite(20,HIGH);
delay(500);
digitalWrite(20,LOW);
Serial.println(counterIngressi);
Serial.println(counterUscite);
Serial.println(counterPresenze);
}
}
delay(1000);
}
word getterIngressi() {
return counterIngressi;
}
word getterUscite() {
return counterUscite;
}
word getterPresenze() {
return counterPresenze;
}
When I associate the device to my Widom gateway I can't see the 3 channels on the gateway interface...
I really don't understand how this approach could works.
Maybe I need to add something like zunoSendReport() ?
Thank you in advance for your help