/* * egts.c * * Created on: Jun 4, 2021 * Author: zemon */ #include "egts.h" #include "egts_crc.h" #include "string.h" uint16_t vEgtsPackMsdData(uint8_t *out, tEgtsMsdDataArgs *args) { out[0] = EGTS_SR_RAW_MSD_DATA; *(uint16_t *) (out + 1) = args->msdLength + 1;//+ 1 phantom //Phantom Byte *(uint8_t *) (out + 0) = 0x01; memcpy(out + 1, args->msd, args->msdLength); return args->msdLength + 1; } // //uint16_t vEgtsPackMsdDataGen(uint8_t *out, void *args) { // return vEgtsPackMsdData(out, (tEgtsMsdDataArgs *) args); //} uint16_t vEgtsPackMsdTransport(uint16_t packetId, uint8_t *out, uint8_t *msd, uint8_t msdLength, uint32_t timestamp) { tEgtsMsdDataArgs args = { .msdLength = msdLength, .msd = msd, }; return vEgtsPackTransport( 0, packetId, out, EGTS_SERVICE_FLAGS_MSD, EGTS_PT_APPDATA, EGTS_ECALL_SERVICE, EGTS_ECALL_SERVICE, timestamp, EGTS_SR_RAW_MSD_DATA, // SRL, // SRT, vEgtsPackMsdDataGen, &args ); }