first attempt to send messages

This commit is contained in:
Martin Brodbeck 2024-02-23 14:29:36 +01:00
parent c57f9251c2
commit e8901e514d
5 changed files with 230 additions and 26 deletions

View file

@ -31,11 +31,13 @@ enum class KeyerQueueCommand {
Stop,
Config,
Wait,
SendMessage,
};
struct KeyerQueueData {
KeyerQueueCommand cmd;
uint8_t wpm;
Mode mode;
std::string message;
};
queue_t keyerQueue;
@ -90,6 +92,9 @@ void core1_main()
keyer.setMode(data.mode);
data.cmd = KeyerQueueCommand::Run;
break;
case KeyerQueueCommand::SendMessage:
keyer.sendMessage(data.message);
break;
case KeyerQueueCommand::Wait:
break;
default:
@ -179,9 +184,11 @@ int main()
}
lastWpm = currentWpm;
KeyerQueueData keyerQueueData {KeyerQueueCommand::Run, currentWpm, settings.mode};
KeyerQueueData keyerQueueData {KeyerQueueCommand::Run, currentWpm, settings.mode, ""};
queue_add_blocking(&keyerQueue, &keyerQueueData);
static bool used = false;
while (true) {
tud_task();
cdc_task();
@ -190,13 +197,18 @@ int main()
// If WPM in settings is set to 0 -> take speed from poti
if (settings.wpm == 0 && (currentWpm != lastWpm)) {
KeyerQueueData keyerQueueData {KeyerQueueCommand::Config, currentWpm, settings.mode};
KeyerQueueData keyerQueueData {KeyerQueueCommand::Config, currentWpm, settings.mode, ""};
queue_add_blocking(&keyerQueue, &keyerQueueData);
printf("WPM has changed to: %d\n", currentWpm);
lastWpm = currentWpm;
}
//busy_wait_ms(1000);
busy_wait_ms(10000);
if (!used) {
KeyerQueueData keyerQueueData {KeyerQueueCommand::SendMessage, 0, settings.mode, "cq cq de dg2smb dg2smb pse k"};
queue_add_blocking(&keyerQueue, &keyerQueueData);
}
}
return 0;