- uint16_t computeTosInfoCrc(NetProg_TOSInfo* tosInfo)
- {
- return call Crc.crc16(tosInfo, sizeof(NetProg_TOSInfo)-2);
- }
-
- void writeTOSinfo()
- {
- NetProg_TOSInfo tosInfo;
- uint16_t crc;
- call IFlash.read((uint8_t*)IFLASH_TOS_INFO_ADDR, &tosInfo, sizeof(tosInfo));
- tosInfo.addr = TOS_NODE_ID;
- tosInfo.groupId = TOS_AM_GROUP;
- crc = computeTosInfoCrc(&tosInfo);
- // don't write if data is already correct
- if (tosInfo.crc == crc)
- return;
- tosInfo.crc = crc;
- call IFlash.write((uint8_t*)IFLASH_TOS_INFO_ADDR, &tosInfo, sizeof(tosInfo));
- }