Index: sources/update/MsgLink.h =================================================================== diff -u -r20b370a54d2737831b307a0de82aec9e06e2b772 -r110fa8df5fc77830fa05d04af55b349dd8f9c6d9 --- sources/update/MsgLink.h (.../MsgLink.h) (revision 20b370a54d2737831b307a0de82aec9e06e2b772) +++ sources/update/MsgLink.h (.../MsgLink.h) (revision 110fa8df5fc77830fa05d04af55b349dd8f9c6d9) @@ -149,9 +149,11 @@ // We are expecting data. _expecting = true; - _wasData = - (msgId == SwUpdateCanMsgIds::DataBufferId_FW) || - (msgId == SwUpdateCanMsgIds::DataBufferId_FPGA); + _wasData = + (msgId == SwUpdateCanMsgIds::DataBufferId_HD_FW) || + (msgId == SwUpdateCanMsgIds::DataBufferId_HD_FPGA) || + (msgId == SwUpdateCanMsgIds::DataBufferId_DG_FW) || + (msgId == SwUpdateCanMsgIds::DataBufferId_DG_FPGA); // Either command or data. if data use ResponseId, // if a command and verify or version use VerifyId else ResponseId. Index: sources/update/UiProtocol.cpp =================================================================== diff -u -r61c46e9379ca82d826fbe7fae018b8362a107d9d -r110fa8df5fc77830fa05d04af55b349dd8f9c6d9 --- sources/update/UiProtocol.cpp (.../UiProtocol.cpp) (revision 61c46e9379ca82d826fbe7fae018b8362a107d9d) +++ sources/update/UiProtocol.cpp (.../UiProtocol.cpp) (revision 110fa8df5fc77830fa05d04af55b349dd8f9c6d9) @@ -374,8 +374,10 @@ // Create the security token and send it. SwUpdate_createSecurity((uint8 *) &msg, sizeof(SwUpdateDataBuffer)); ok = _link.sendOk( - (_target == HD) || (_target == DG) ? - SwUpdateCanMsgIds::DataBufferId_FW : SwUpdateCanMsgIds::DataBufferId_FPGA, + (_target == HD) ? SwUpdateCanMsgIds::DataBufferId_HD_FW : + (_target == DG) ? SwUpdateCanMsgIds::DataBufferId_DG_FW : + (_target == HDFPGA) ? SwUpdateCanMsgIds::DataBufferId_HD_FPGA : + SwUpdateCanMsgIds::DataBufferId_DG_FPGA, (uint8*)&msg, _retryEffort); if ((_desired != Complete) || (!ok)) { return false; @@ -414,8 +416,10 @@ // Create the security token and send it. SwUpdate_createSecurity((uint8 *) &msg, sizeof(SwUpdateDataBuffer)); bool ok = _link.sendOk( - (_target == HD) || (_target == DG) ? - SwUpdateCanMsgIds::DataBufferId_FW : SwUpdateCanMsgIds::DataBufferId_FPGA, + (_target == HD) ? SwUpdateCanMsgIds::DataBufferId_HD_FW : + (_target == DG) ? SwUpdateCanMsgIds::DataBufferId_DG_FW : + (_target == HDFPGA) ? SwUpdateCanMsgIds::DataBufferId_HD_FPGA : + SwUpdateCanMsgIds::DataBufferId_DG_FPGA, (uint8*)&msg, _retryEffort); return (ok && (_link.numberRetries() <= _maxCyberRetries)); Index: sources/update/UpdateProtocol.h =================================================================== diff -u -r20b370a54d2737831b307a0de82aec9e06e2b772 -r110fa8df5fc77830fa05d04af55b349dd8f9c6d9 --- sources/update/UpdateProtocol.h (.../UpdateProtocol.h) (revision 20b370a54d2737831b307a0de82aec9e06e2b772) +++ sources/update/UpdateProtocol.h (.../UpdateProtocol.h) (revision 110fa8df5fc77830fa05d04af55b349dd8f9c6d9) @@ -55,13 +55,17 @@ * on each 8 byte transfer... The only way to 100% be sure the * streams don't get confused by the "mailbox" system used by * TI style CAN bus HW is to make them distinct command IDs. + * + * The app msgs are < 0x8000. We start there. */ typedef enum SwUpdateCanMsgIds { - CommandId = 1, ///< SwUpdateCommand ID. - DataBufferId_FW = 2, ///< SwUpdateDataBuffer ID for FW. - DataBufferId_FPGA = 3, ///< SwUpdateDataBuffer ID for FPGA. - ResponseId = 4, ///< SwUpdateResponse ID. - VerifyId = 5, ///< SwUpdateResponse ID. + CommandId = 0x8001, ///< SwUpdateCommand ID. + DataBufferId_HD_FW = 0x8002, ///< SwUpdateDataBuffer ID for FW. + DataBufferId_HD_FPGA = 0x8003, ///< SwUpdateDataBuffer ID for FPGA. + DataBufferId_DG_FW = 0x8004, ///< SwUpdateDataBuffer ID for FW. + DataBufferId_DG_FPGA = 0x8005, ///< SwUpdateDataBuffer ID for FPGA. + ResponseId = 0x8006, ///< SwUpdateResponse ID. + VerifyId = 0x8007, ///< SwUpdateResponse ID. NumMsgIds ///< Always last. } SwUpdateCanMsgIds;