PWM and ALGO updated.. PWM getting generated
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of TFR_BAE_vr1_1working_finally_PWM_CTRLALGO_update by
TCTM.cpp
- Committer:
- sakthipriya
- Date:
- 2015-12-29
- Revision:
- 3:07e15677a75c
- Parent:
- 0:7b4c00e3912f
- Child:
- 4:39a4ae8c7ecd
File content as of revision 3:07e15677a75c:
#include "mbed.h" #include "TCTM.h" #include "crc.h" uint8_t* FCTN_BAE_TM_TC (uint8_t* tc) { uint8_t service_type=(tc[2]&0xF0); uint8_t* tm; uint16_t crc16; switch(service_type) { case 0x60: { printf("Memory Management Service\r\n"); uint8_t service_subtype=(tc[2]&0x0F); switch(service_subtype) { case 0x01: { printf("Read from Flash\r\n"); } case 0x02: { printf("Read from RAM\r\n"); } case 0x05: { printf("Write on Flash\r\n"); } default: { printf("Invalid TC"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } } } case 0x80: { printf("Function Management Service\r\n"); uint8_t service_subtype=(tc[2]&0x0F); switch(service_subtype) { case 0x01: { printf("FMS Activated\r\n"); uint8_t pid=tc[3]; switch(pid) { case 0x01: { printf("Run P_EPS_INIT\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x02: { printf("Run P_EPS_MAIN\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x03: { printf("Run P_ACS_INIT\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x04: { printf("Run P_ACS_ACQ_DATA\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x05: { printf("Run P_ACS_MAIN\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x06: { printf("Run P_BCN_INIT\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x07: { printf("Run P_BCN_TX_MAIN\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x11: { printf("SW_ON_ACS_ATS1_SW_ENABLE\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x12: { printf("SW_ON_ACS_ATS2_SW_ENABLE\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x13: { printf("SW_ON_ACS_TR_XY_ENABLE\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x14: { printf("SW_ON_ACS_TR_Z_ENABLE\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x15: { printf("SW_ON_BCN_TX_SW_ENABLE\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x21: { printf("SW_OFF_ACS_ATS1_SW_ENABLE\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x22: { printf("SW_OFF_ACS_ATS2_SW_ENABLE\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x23: { printf("SW_OFF_ACS_TR_XY_ENABLE\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x24: { printf("SW_OFF_ACS_TR_Z_ENABLE\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x25: { printf("SW_OFF_BCN_TX_SW_ENABLE\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x31: { printf("ACS_ATS_SW_RESET\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x32: { printf("BCN_SW_RESET\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x33: { printf("BAE_RESET\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0x34: { printf("CDMS_SW_RESET\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } case 0xE0: { printf("CMSN_ACS_ALGO\r\n"); //FMS_TM tm[0]=0xF0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<132;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,132); tm[132] = (uint8_t)((crc16&0xFF00)>>8); tm[133] = (uint8_t)(crc16&0x00FF); return tm; } case 0xE1: { printf("CMSN_ACS_HW\r\n"); //FMS_TM tm[0]=0xF0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<132;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,132); tm[132] = (uint8_t)((crc16&0xFF00)>>8); tm[133] = (uint8_t)(crc16&0x00FF); return tm; } case 0xC1: { printf("Reset HK_Counter\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } default: { printf("Invalid TC\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } } default: { printf("Invalid TC\r\n"); //ACK_L234_TM tm[0]=0xB0; tm[1]=tc[0]; tm[2]=ACK_CODE; for(uint8_t i=3;i<11;i++) { tm[i]=0x00; } crc16 = CRC::crc16_gen(tm,11); tm[11] = (uint8_t)((crc16&0xFF00)>>8); tm[12] = (uint8_t)(crc16&0x00FF); for(uint8_t i=13;i<134;i++) { tm[i]=0x00; } return tm; } } } } } }