From 1b363860d1df017d88f99ea93431b006c7130694 Mon Sep 17 00:00:00 2001 From: jjwbruijn Date: Tue, 9 May 2023 11:27:13 +0200 Subject: [PATCH] AP 0014 - Support for messages on segmented AP --- binaries/AP_FW_1.54.bin | Bin 32657 -> 32680 bytes binaries/AP_FW_2.9.bin | Bin 32663 -> 32686 bytes binaries/AP_FW_Nodisplay.bin | Bin 19546 -> 19546 bytes binaries/AP_FW_Pack.bin | Bin 107660 -> 108387 bytes binaries/AP_FW_Segmented_UK.bin | Bin 22282 -> 22963 bytes tag_types.h | 2 + zbs243_AP_FW/APDisplay.c | 14 ++++-- zbs243_AP_FW/emulateTag.c | 44 +++++++++++++++++++ zbs243_AP_FW/main.c | 19 ++++---- zbs243_shared/board/zbs_segmented_uk/board.h | 2 +- 10 files changed, 67 insertions(+), 14 deletions(-) diff --git a/binaries/AP_FW_1.54.bin b/binaries/AP_FW_1.54.bin index ca828166e02b75bed2a1a783002ac0cabdb21b69..9c04395f746bb53542fd5b7e2ee4d03a0c06ca76 100644 GIT binary patch delta 8184 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 diff --git a/binaries/AP_FW_2.9.bin b/binaries/AP_FW_2.9.bin index 7a1e1a3c453ad33db29b7a9e31502d9d297fffdb..b53427d4b2b1116a87fdcfe32cf156e096b040f7 100644 GIT binary patch delta 8265 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 F{C6p`41@px delta 8250 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 OqPOph>$rb=Dfv(N`utV^ diff --git a/binaries/AP_FW_Nodisplay.bin b/binaries/AP_FW_Nodisplay.bin index b267d67fde2fe3135135d93dd97eef4767f9836d..f05c2e01d5f344546e2316aa3c9ff0d1e79b5f00 100644 GIT binary patch delta 20 ccmcaLgYni3#tougj3Sc*y_7dwdMPpi08@(wwEzGB delta 20 ccmcaLgYni3#tougjKY%xy_7dwdMPpi08@bmv;Y7A diff --git a/binaries/AP_FW_Pack.bin b/binaries/AP_FW_Pack.bin index 0642f9c67da535b97a74328f6860cb8e2217c7c7..f0ac526b77b15db907b7b0baeee8474677aba8dd 100644 GIT binary patch delta 28547 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 delta 27677 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 diff --git a/binaries/AP_FW_Segmented_UK.bin b/binaries/AP_FW_Segmented_UK.bin index 19607cb6d31a9c63c9089c21a702feea165a34a1..4e455d77b0c072dc4335919effabcbe6aeddf99d 100644 GIT binary patch literal 22963 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, bd->checksum); @@ -60,6 +67,7 @@ void epdWriteByte(uint8_t b) { } void fakeTagGetData() { + // non-segmented if ((timerGet() - lastRequest) > (1200UL * 1333)) { if (dataRequested == false) { if (ad.dataSize) { @@ -100,14 +108,49 @@ void fakeTagGetData() { } } } +#endif void fakePendingData(struct pendingData *pd) { +#if (SCREEN_WIDTH == 1) + // segmented data, this contains all the info. No block transfers + if (pd->availdatainfo.dataType == DATATYPE_UK_SEGMENTED) { + if (pd->availdatainfo.dataVer == 0 && pd->availdatainfo.dataSize == 0) { + showAPDisplay = true; + } else { + showAPDisplay = false; + // check if we should re-init the EPD for the correct image (inverted or not) + //if (SisInverted != (pd->availdatainfo.dataTypeArgument & 0x01)) { + if (pd->availdatainfo.dataTypeArgument & 0x01) { + SisInverted = true; + } else { + SisInverted = false; + } + epdSetup(SisInverted); + //} + epdSetPos(0); + + char *epdp = (char *)&(pd->availdatainfo.dataVer); + + for (uint8_t c = 0; c < 10; c++) { + writeCharEPD(epdp[c]); + } + setEPDIcon(0xFFFF, false); + // memcpy(epdSegmentData, &(pd->availdatainfo.dataVer), 12); + setEPDIcon(*((uint16_t *)(epdp + 10)), true); + epdUpdate(); + } + espNotifyXferComplete(fakeTagMac); + } + +#else + // non-segmented tags, we'll have to do a block transfer here if ((pd->availdatainfo.dataType == DATATYPE_IMG_RAW_1BPP) || (pd->availdatainfo.dataType == DATATYPE_IMG_RAW_2BPP) || (pd->availdatainfo.dataType == DATATYPE_IMG_RAW_1BPP_DIRECT)) { memcpy(&ad, &(pd->availdatainfo), sizeof(struct AvailDataInfo)); blockCount = 0; fakeTagTrafficPending = true; dataRequested = false; } +#endif } void fakeTagCheckIn() { @@ -119,6 +162,7 @@ void fakeTagCheckIn() { adr->hwType = HW_TYPE; adr->lastPacketLQI = 100; adr->lastPacketRSSI = 100; + adr->capabilities |= CAPABILITY_HAS_EXT_POWER; if (firstboot) { adr->wakeupReason = 0xFC; firstboot = false; diff --git a/zbs243_AP_FW/main.c b/zbs243_AP_FW/main.c index d5395f8e..692f264c 100755 --- a/zbs243_AP_FW/main.c +++ b/zbs243_AP_FW/main.c @@ -30,7 +30,7 @@ struct pendingData __xdata pendingDataArr[MAX_PENDING_MACS]; // VERSION GOES HERE! -uint16_t __xdata version = 0x0013; +uint16_t __xdata version = 0x0014; #define RAW_PKT_PADDING 2 @@ -272,8 +272,8 @@ void processSerial(uint8_t lastchar) { struct pendingData *pd = (struct pendingData *)serialbuffer; #if (AP_EMULATE_TAG == 1) if (memcmp(pd->targetMac, fakeTagMac, 8) == 0) { - fakePendingData(pd); pr("ACK>\n"); + fakePendingData(pd); } else { #endif int8_t slot = findSlotForMac(pd->targetMac); @@ -301,7 +301,7 @@ void processSerial(uint8_t lastchar) { if (bytesRemain == 0) { if (checkCRC(serialbuffer, sizeof(struct pendingData))) { struct pendingData *pd = (struct pendingData *)serialbuffer; -#if (AP_EMULATE_TAG == 1) +#if (AP_EMULATE_TAG == 1 && HAS_EEPROM == 1) if (memcmp(pd->targetMac, fakeTagMac, 8) == 0) { fakeTagTrafficPending = false; pr("ACK>\n"); @@ -310,7 +310,7 @@ void processSerial(uint8_t lastchar) { // deleteAllPendingDataForVer((uint8_t *)&pd->availdatainfo.dataVer); deleteAllPendingDataForMac((uint8_t *)&pd->targetMac); pr("ACK>\n"); -#if (AP_EMULATE_TAG == 1) +#if (AP_EMULATE_TAG == 1 && HAS_EEPROM == 1) } #endif } else { @@ -416,6 +416,9 @@ void espNotifyAPInfo() { countSlots(); pr("PEN>%02X\n", curPendingData); pr("NOP>%02X\n", curNoUpdate); +#if (AP_EMULATE_TAG == 1) + fakeTagCheckIn(); +#endif } // process data from tag @@ -660,7 +663,7 @@ void sendPong(void *__xdata buf) { radioTx(radiotxbuffer); } -#if (AP_EMULATE_TAG == 1) +#if (AP_EMULATE_TAG == 1 && HAS_EEPROM == 1) void attemptFakeTagUpdate() { if (memcmp(fakeTagMac, lastBlockMac, 8) == 0) { lastBlockRequest = timerGet(); @@ -726,9 +729,6 @@ void main(void) { pr("RES>\n"); pr("RDY>\n"); -#if (AP_EMULATE_TAG == 1) - fakeTagCheckIn(); -#endif housekeepingTimer = timerGet(); @@ -781,8 +781,7 @@ void main(void) { loopCount--; if (loopCount == 0) { #if (HAS_SCREEN == 1) - -#if (AP_EMULATE_TAG == 1) +#if (AP_EMULATE_TAG == 1 && HAS_EEPROM == 1) if (fakeTagTrafficPending) attemptFakeTagUpdate(); #else countSlots(); diff --git a/zbs243_shared/board/zbs_segmented_uk/board.h b/zbs243_shared/board/zbs_segmented_uk/board.h index 4e7ea09b..7deb17ee 100755 --- a/zbs243_shared/board/zbs_segmented_uk/board.h +++ b/zbs243_shared/board/zbs_segmented_uk/board.h @@ -7,7 +7,7 @@ #define HAS_EEPROM 0 #define HAS_SCREEN 1 -#define AP_EMULATE_TAG 0 +#define AP_EMULATE_TAG 1 #define HW_TYPE SOLUM_SEG_UK