Last active
June 3, 2019 06:54
-
-
Save nkenna/cbd7343ed521e2cf9bb06e606baa978c to your computer and use it in GitHub Desktop.
tried packing 0800 message but the date and time fields are giving issues.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void test0800() { | |
SDK_8583_ST8583 st_send_packet; | |
s32 len; | |
u8 temp[256]; | |
//transmission date and time | |
u8 tmp[64]; | |
u8 datetime[15]; | |
u8 t_datetime[15] = {0}; | |
//transmission time | |
u8 temptime[64]; | |
u8 time[8]; | |
u8 t_time[10] = {0}; | |
//transmission date | |
u8 tempdate[64]; | |
u8 date[5]; | |
u8 t_date[7] = {0}; | |
memset(temp, 0, sizeof(tmp)); | |
memset(datetime, 0, sizeof(datetime)); | |
memset(temptime, 0, sizeof(temptime)); | |
memset(time, 0, sizeof(time)); | |
memset(tempdate, 0, sizeof(tempdate)); | |
memset(date, 0, sizeof(date)); | |
memset(&st_send_packet , 0x00, sizeof(SDK_8583_ST8583)); | |
//sdkAscToBcd(st_send_packet.ucBagData, "6000010002", 10); //e.g. 6000010002 | |
st_send_packet.nBagLen += 5; //5 bytes | |
st_send_packet.stFiled[SDK_8583_FIELD_MSG].nFieldHead = st_send_packet.nBagLen; //S et the start position of the first field, i.e message t ype. | |
len = IsoSetField(&st_send_packet , SDK_8583_FIELD_MSG, "0800", 4); // 0800 is the string | |
if (len < 0){ | |
return len; | |
} | |
len = IsoSetField(&st_send_packet , SDK_8583_FIELD_MAP, "0", 0); //The length should be 0 here. | |
if (len < 0){ | |
return len; | |
} | |
//processing code | |
len = IsoSetField(&st_send_packet, 3, "9A0000", 6); | |
if (len < 0){ | |
return len; | |
} | |
if (SDK_OK == sdkGetRtc(tmp)){ // retrieve system date and time | |
sdkBcdToAsc(datetime, tmp, 6); //convert from BCD to ASC | |
//join all date and time into one string | |
strcat(t_datetime, datetime[0]); | |
strcat(t_datetime, datetime[1]); | |
strcat(t_datetime, datetime[2]); | |
strcat(t_datetime, datetime[3]); | |
strcat(t_datetime, datetime[4]); | |
strcat(t_datetime, datetime[5]); | |
//join time: hour, minute and seconds into one string | |
strcat(t_time, datetime[3]); | |
strcat(t_time, datetime[4]); | |
strcat(t_time, datetime[5]); | |
//join date: month and day into one string | |
strcat(t_date, datetime[1]); | |
strcat(t_date, datetime[2]); | |
} | |
// transmission date and time | |
len = IsoSetField(&st_send_packet, 7, t_datetime, 12); | |
if (len < 0){ | |
return len; | |
} | |
//system trace audit | |
len = IsoSetField(&st_send_packet, 11, gstAppSysCfg.stTransParam.asTraceNO, 6); | |
if (len < 0){ | |
return len; | |
} | |
//transmission time | |
len = IsoSetField(&st_send_packet, 12, t_time, 6); | |
if (len < 0){ | |
return len; | |
} | |
//transmission date | |
len = IsoSetField(&st_send_packet, 13, t_date, 4); | |
if (len < 0){ | |
return len; | |
} | |
len = IsoSetField(&st_send_packet, 41, "########", 8); | |
if (len < 0){ | |
return len; | |
} | |
//check if fields exists | |
bool flag; | |
//judge whether field 02 exists in the request message | |
flag = sdk8583IsDomainExist(&st_send_packet, 13); | |
if(flag){ | |
sdkDispClearScreen(); | |
sdkDispFillRowRam(SDK_DISP_LINE1, 0, "yes", SDK_DISP_DEFAULT); | |
sdkDispBrushScreen(); | |
sdkmSleep(500); | |
}else{ | |
sdkDispClearScreen(); | |
sdkDispFillRowRam(SDK_DISP_LINE1, 0, "no", SDK_DISP_DEFAULT); | |
sdkDispBrushScreen(); | |
sdkmSleep(500); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment