52 lines
1.1 KiB
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
|
|
);
|
|
}
|