in mxdevice/Device/MXDeviceDemo.ino [191:261]
void loop()
{
if (hasWifi)
{
if (messageSending && (int)(SystemTickCounterRead() - send_interval_ms) >= getInterval())
{
if (MESSAGE_SEND_COUNT_LIMIT == NULL || messageSendCounter <= MESSAGE_SEND_COUNT_LIMIT)
{
// Check if user want to record - this is temp until we get the sound working properly
if (digitalRead(USER_BUTTON_B) == LOW && messageReceived == false)
{
Screen.clean();
Screen.print(1, "Start recording");
do {
// Nothing - just imitate recording
} while (digitalRead(USER_BUTTON_B) == LOW);
soundRecorded = true;
}
// Send data
char messagePayload[MESSAGE_MAX_LEN];
float *newValues;
newValues = setMessage(messageCount++, messagePayload, soundRecorded);
if (!messageReceived)
{
// Update display
char buff[128];
sprintf(buff, "ID: %s \r\n Temp:%sF \r\n Humidity:%s%% \r\n Pres:%smb \r\n" ,device_id , f2s(*(newValues), 1), f2s(*(newValues + 1), 1), f2s(*(newValues + 2), 1));
Screen.print(buff);
}
EVENT_INSTANCE* message = DevKitMQTTClient_Event_Generate(messagePayload, MESSAGE);
DevKitMQTTClient_SendEventInstance(message);
messageSendCounter++;
}
else if (messageSendCounter > MESSAGE_SEND_COUNT_LIMIT && digitalRead(USER_BUTTON_A) == LOW)
{
Screen.clean();
messageSendCounter = 0;
}
else
{
Screen.clean();
Screen.print(1, "Hold A to send");
Screen.print(2, "data to the IoT");
Screen.print(3, "Hub...");
}
send_interval_ms = SystemTickCounterRead();
}
else
{
DevKitMQTTClient_Check();
}
// Reset display after message
if (digitalRead(USER_BUTTON_A) == LOW && messageReceived == true)
{
// Set flag so data shows on display
messageReceived = false;
}
// Reset mock audio
soundRecorded = false;
}
delay(10);
}