mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-27 20:56:35 +00:00
Merge pull request #8937 from grob6000/serialsend6
Serialsend6 - comma-separated decimal send as binary
This commit is contained in:
commit
ac780d5e9a
@ -906,6 +906,17 @@ void SerialSendRaw(char *codes)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// values is a comma-delimited string: e.g. "72,101,108,108,111,32,87,111,114,108,100,33,10"
|
||||||
|
void SerialSendDecimal(char *values)
|
||||||
|
{
|
||||||
|
char *p;
|
||||||
|
uint8_t code;
|
||||||
|
for (char* str = strtok_r(values, ",", &p); str; str = strtok_r(nullptr, ",", &p)) {
|
||||||
|
code = (uint8_t)atoi(str);
|
||||||
|
Serial.write(code);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
uint32_t GetHash(const char *buffer, size_t size)
|
uint32_t GetHash(const char *buffer, size_t size)
|
||||||
{
|
{
|
||||||
uint32_t hash = 0;
|
uint32_t hash = 0;
|
||||||
|
@ -1333,7 +1333,7 @@ void CmndSerialConfig(void)
|
|||||||
|
|
||||||
void CmndSerialSend(void)
|
void CmndSerialSend(void)
|
||||||
{
|
{
|
||||||
if ((XdrvMailbox.index > 0) && (XdrvMailbox.index <= 5)) {
|
if ((XdrvMailbox.index > 0) && (XdrvMailbox.index <= 6)) {
|
||||||
SetSeriallog(LOG_LEVEL_NONE);
|
SetSeriallog(LOG_LEVEL_NONE);
|
||||||
Settings.flag.mqtt_serial = 1; // CMND_SERIALSEND and CMND_SERIALLOG
|
Settings.flag.mqtt_serial = 1; // CMND_SERIALSEND and CMND_SERIALLOG
|
||||||
Settings.flag.mqtt_serial_raw = (XdrvMailbox.index > 3) ? 1 : 0; // CMND_SERIALSEND3
|
Settings.flag.mqtt_serial_raw = (XdrvMailbox.index > 3) ? 1 : 0; // CMND_SERIALSEND3
|
||||||
@ -1353,6 +1353,9 @@ void CmndSerialSend(void)
|
|||||||
else if (5 == XdrvMailbox.index) {
|
else if (5 == XdrvMailbox.index) {
|
||||||
SerialSendRaw(RemoveSpace(XdrvMailbox.data)); // "AA004566" as hex values
|
SerialSendRaw(RemoveSpace(XdrvMailbox.data)); // "AA004566" as hex values
|
||||||
}
|
}
|
||||||
|
else if (6 == XdrvMailbox.index) {
|
||||||
|
SerialSendDecimal(XdrvMailbox.data);
|
||||||
|
}
|
||||||
ResponseCmndDone();
|
ResponseCmndDone();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user