Legacy_EgtsEncoderDecoder_F.../Src/egts_msd.c

52 lines
1.1 KiB
C

/*
* 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
);
}