diff --git a/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/Elite_version.h b/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/Elite_version.h index 62f99d1..539e827 100644 --- a/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/Elite_version.h +++ b/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/Elite_version.h @@ -4,6 +4,6 @@ #define VERSION_DATE_YEAR 23 #define VERSION_DATE_MONTH 6 #define VERSION_DATE_DAY 5 -#define VERSION_DATE_HOUR 14 -#define VERSION_DATE_MINUTE 47 +#define VERSION_DATE_HOUR 16 +#define VERSION_DATE_MINUTE 26 #endif diff --git a/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/service/app_ser.h b/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/service/app_ser.h index dd1e66a..8c4d435 100644 --- a/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/service/app_ser.h +++ b/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/service/app_ser.h @@ -31,12 +31,9 @@ static void update_led(uint8_t led); #define TRI_D0_5V 8 #define TRI_D1_5V 9 #define TRIG_OUT_CH_MAX 10 - -struct trig_ch_en_ctx_t -{ // Trigger Channel - bool chan_en[TRIG_OUT_CH_MAX]; // [tri_pr0_en, tri_d0_en, tri_a0_en, tri_a2_en, tri_a3_en, +bool chan_en[TRIG_OUT_CH_MAX]; // [tri_pr0_en, tri_d0_en, tri_a0_en, tri_a2_en, tri_a3_en, // tri_a1_en, tri_d1_en, tri_pr1_en, tri_d0_as_5v_en, tri_d1_as_5v_en] -}; + /** TRIG01 trigger edge type **/ #define TRIG_POSEDGE 0x00 @@ -93,9 +90,6 @@ struct trig_ch_en_ctx_t #define TRIG_input 0x04 // #define TRIG_CHAN_COUNT 10 // channel count of TRIG01 -/* application use SPI parameters and buffers */ -#define SPI_GPIO_BUFF_SIZE 10 - struct elite_instru_t { uint8_t memoryboard_id; @@ -199,7 +193,6 @@ enum set_para_e }; struct _LH LH = { 0 }; -struct trig_ch_en_ctx_t TRC = { 0 }; struct elite_instru_t instru = { 0 }; struct gptimer_t gpt = {0}; static int32_t notify_ch1 = 0; diff --git a/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/service/app_ser_c.h b/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/service/app_ser_c.h index 5985510..8c711c1 100644 --- a/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/service/app_ser_c.h +++ b/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/service/app_ser_c.h @@ -89,7 +89,7 @@ static void WorkModeLED() { case MODE_ANALOG_CURRENT_CTRL: case MODE_ALL_OUTPUT_CTRL: - set_channel_led(TRC.chan_en); + set_channel_led(chan_en); break; default: @@ -524,22 +524,18 @@ static void receive_instruction(uint8 *ins) break; } - case SET_EN_CHAN: { // 0x81 //Trig mode use + case SET_EN_CHAN: { // 0x81 //ACC mode use InitTrigChan(); switch (ins[3]) { case TRIG_PR: { // 0x00 - instru.tri_pr0_en = (bool)(ins[4] >> 4); - instru.tri_pr1_en = (bool)(ins[4] & 0x0F); - TRC.chan_en[0] = instru.tri_pr0_en; - TRC.chan_en[7] = instru.tri_pr1_en; + chan_en[TRI_PR0] = (bool)(ins[4] >> 4); + chan_en[TRI_PR1] = (bool)(ins[4] & 0x0F); break; } case TRIG_MOS_DOUT: { // 0x01 - instru.tri_d0_en = (bool)(ins[4] >> 4); - instru.tri_d1_en = (bool)(ins[4] & 0x0F); - TRC.chan_en[1] = instru.tri_d0_en; - TRC.chan_en[6] = instru.tri_d1_en; + chan_en[TRI_D0_SW] = (bool)(ins[4] >> 4); + chan_en[TRI_D1_SW] = (bool)(ins[4] & 0x0F); break; } case TRIG_MOS_AOUT: { // 0x02 @@ -547,17 +543,17 @@ static void receive_instruction(uint8 *ins) instru.tri_a1_en = (bool)(ins[4] & 0x0F); instru.tri_a2_en = (bool)(ins[5] >> 4); instru.tri_a3_en = (bool)(ins[5] & 0x0F); - TRC.chan_en[2] = instru.tri_a0_en; - TRC.chan_en[3] = instru.tri_a2_en; - TRC.chan_en[4] = instru.tri_a3_en; - TRC.chan_en[5] = instru.tri_a1_en; + chan_en[2] = instru.tri_a0_en; + chan_en[3] = instru.tri_a2_en; + chan_en[4] = instru.tri_a3_en; + chan_en[5] = instru.tri_a1_en; break; } case TRIG_5V_OUT: { // 0x03 instru.tri_d0_as_5v_en = (bool)(ins[4] >> 4); instru.tri_d1_as_5v_en = (bool)(ins[4] & 0x0F); - TRC.chan_en[8] = instru.tri_d0_as_5v_en; - TRC.chan_en[9] = instru.tri_d1_as_5v_en; + chan_en[8] = instru.tri_d0_as_5v_en; + chan_en[9] = instru.tri_d1_as_5v_en; break; } default: { @@ -577,7 +573,7 @@ static void receive_instruction(uint8 *ins) break; } - case SET_TRIG_EN: { // 0x41 //Trig mode use + case SET_TRIG_EN: { // 0x41 //ACC mode use instru.trig0_en = (bool)(ins[3] >> 4); instru.trig1_en = (bool)(ins[3] & 0x0F); instru.trig0_edge = (uint8_t)(ins[4] >> 4); // 0: POS, 1: NEG, 2: BOTH, 3: DIS @@ -596,7 +592,7 @@ static void receive_instruction(uint8 *ins) break; } - case MODE_ANALOG_CURRENT_CTRL: { // Trig mode use + case MODE_ANALOG_CURRENT_CTRL: { // ACC mode use uint16_t a_out0_current = (uint16_t)ins[3] << 8 | (uint16_t)ins[4]; uint16_t a_out1_current = (uint16_t)ins[5] << 8 | (uint16_t)ins[6]; uint16_t a_out2_current = (uint16_t)ins[7] << 8 | (uint16_t)ins[8]; @@ -642,32 +638,32 @@ static void receive_instruction(uint8 *ins) case Aout_CH_0: set_para(instru.elite_mode, Aout_CH_0, value); instru.tri_a0_en = chan; - TRC.chan_en[2] = instru.tri_a0_en; - set_output_enable(TRC.chan_en); + chan_en[2] = instru.tri_a0_en; + set_output_enable(chan_en); update_led(LED_WORKING); break; case Aout_CH_1: set_para(instru.elite_mode, Aout_CH_1, value); instru.tri_a1_en = chan; - TRC.chan_en[5] = instru.tri_a1_en; - set_output_enable(TRC.chan_en); + chan_en[5] = instru.tri_a1_en; + set_output_enable(chan_en); update_led(LED_WORKING); break; case Aout_CH_2: set_para(instru.elite_mode, Aout_CH_2, value); instru.tri_a2_en = chan; - TRC.chan_en[3] = instru.tri_a2_en; - set_output_enable(TRC.chan_en); + chan_en[3] = instru.tri_a2_en; + set_output_enable(chan_en); update_led(LED_WORKING); break; case Aout_CH_3: set_para(instru.elite_mode, Aout_CH_3, value); instru.tri_a3_en = chan; - TRC.chan_en[4] = instru.tri_a3_en; - set_output_enable(TRC.chan_en); + chan_en[4] = instru.tri_a3_en; + set_output_enable(chan_en); update_led(LED_WORKING); break; @@ -772,7 +768,7 @@ static void receive_instruction(uint8 *ins) if (!TRIG_TrigEnable) { - set_output_enable(TRC.chan_en); + set_output_enable(chan_en); } update_led(LED_WORKING); break; @@ -913,18 +909,18 @@ static void receive_instruction(uint8 *ins) case 0x31: { // 0x31 ctrl PR0 //PIN15_setOutputValue(E_PIN_D0_PR_0, ?); instru.tri_pr0_en = ins[4]; - TRC.chan_en[0] = instru.tri_pr0_en; - set_output_enable(TRC.chan_en); - set_channel_led(TRC.chan_en); + chan_en[0] = instru.tri_pr0_en; + set_output_enable(chan_en); + set_channel_led(chan_en); break; } case 0x32: { // 0x32 ctrl PR1 //PIN15_setOutputValue(E_PIN_D0_PR_1, ?); instru.tri_pr1_en = ins[4]; - TRC.chan_en[7] = instru.tri_pr1_en; - set_output_enable(TRC.chan_en); - set_channel_led(TRC.chan_en); + chan_en[7] = instru.tri_pr1_en; + set_output_enable(chan_en); + set_channel_led(chan_en); break; } @@ -944,10 +940,10 @@ static void receive_instruction(uint8 *ins) instru.tri_d0_en = 1; break; } - TRC.chan_en[8] = instru.tri_d0_as_5v_en; - TRC.chan_en[1] = instru.tri_d0_en; - set_output_enable(TRC.chan_en); - set_channel_led(TRC.chan_en); + chan_en[8] = instru.tri_d0_as_5v_en; + chan_en[1] = instru.tri_d0_en; + set_output_enable(chan_en); + set_channel_led(chan_en); break; } @@ -967,11 +963,11 @@ static void receive_instruction(uint8 *ins) instru.tri_d1_en = 1; break; } - TRC.chan_en[9] = instru.tri_d1_as_5v_en; - TRC.chan_en[6] = instru.tri_d1_en; - set_output_enable(TRC.chan_en); + chan_en[9] = instru.tri_d1_as_5v_en; + chan_en[6] = instru.tri_d1_en; + set_output_enable(chan_en); - set_channel_led(TRC.chan_en); + set_channel_led(chan_en); break; } @@ -1281,9 +1277,9 @@ static void trig_en_check() static void InitTrigChan() { - memset(&TRC, 0x00, sizeof(TRC)); - TRC.chan_en[8] = true; // 5V default disable - TRC.chan_en[9] = true; + memset(chan_en, 0x00, sizeof(chan_en)); + chan_en[8] = true; // 5V default disable + chan_en[9] = true; } static void PIN_trig_edge_set(uint8_t trig0_edge, uint8_t trig1_edge) @@ -1336,6 +1332,8 @@ static void PIN_trig_edge_set(uint8_t trig0_edge, uint8_t trig1_edge) // } } +/* application use SPI parameters and buffers */ +#define SPI_GPIO_BUFF_SIZE 10 static void GPIO_SPI_transfer(uint32_t *GPIO_CLK_CH, uint16_t spi_GPIO_txbuf) { uint16_t SPI_GPIO[SPI_GPIO_BUFF_SIZE] = {0}; @@ -1697,7 +1695,7 @@ static void analog_current_ctrl_mode(struct gptimer_t *gpt) { cnt.output_rate = 0; // To get right data, ADC must be delay 1.5ms curr_out(); - set_output_enable(TRC.chan_en); + set_output_enable(chan_en); } // Notify counter(Notify control, check if we need to send notify) @@ -1738,7 +1736,7 @@ static void all_output_ctrl_mode(struct gptimer_t *gpt) { cnt.output_rate = 0; // To get right data, ADC must be delay 1.5ms curr_out(); - set_output_enable(TRC.chan_en); + set_output_enable(chan_en); WorkModeLED(); } diff --git a/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/service/mode_all_output_ctrl_c.h b/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/service/mode_all_output_ctrl_c.h index 615884a..223d304 100644 --- a/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/service/mode_all_output_ctrl_c.h +++ b/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/service/mode_all_output_ctrl_c.h @@ -47,22 +47,22 @@ void __all_output_ctrl_mode_ch_vsan(struct ch_all_out_ctrl_ctx_t *channel, uint3 if (channel->t_early_period) { if (ch==CH_D0 && instru.tri_d0_as_5v_en==1) { if(channel->v_early) { - TRC.chan_en[CH_D0] = 0; - TRC.chan_en[8] = 0; + chan_en[CH_D0] = 0; + chan_en[8] = 0; } else { - TRC.chan_en[CH_D0] = 0; - TRC.chan_en[8] = 1; + chan_en[CH_D0] = 0; + chan_en[8] = 1; } } else if (ch==CH_D1 && instru.tri_d1_as_5v_en==1) { if(channel->v_early) { - TRC.chan_en[CH_D1] = 0; - TRC.chan_en[9] = 0; + chan_en[CH_D1] = 0; + chan_en[9] = 0; } else { - TRC.chan_en[CH_D1] = 0; - TRC.chan_en[9] = 1; + chan_en[CH_D1] = 0; + chan_en[9] = 1; } } else { - TRC.chan_en[ch] = channel->v_early; + chan_en[ch] = channel->v_early; } if (channel->v_scan_rate >= channel->t_early) { @@ -92,22 +92,22 @@ void __all_output_ctrl_mode_ch_vsan(struct ch_all_out_ctrl_ctx_t *channel, uint3 if (m < channel->t_part[i]) { if (ch == CH_D0 && instru.tri_d0_as_5v_en==1) { if(channel->v_mid & (1 << i)) { - TRC.chan_en[CH_D0] = 0; - TRC.chan_en[8] = 0; + chan_en[CH_D0] = 0; + chan_en[8] = 0; } else { - TRC.chan_en[CH_D0] = 0; - TRC.chan_en[8] = 1; + chan_en[CH_D0] = 0; + chan_en[8] = 1; } } else if (ch == CH_D1 && instru.tri_d1_as_5v_en==1) { if(channel->v_mid & (1 << i)) { - TRC.chan_en[CH_D1] = 0; - TRC.chan_en[9] = 0; + chan_en[CH_D1] = 0; + chan_en[9] = 0; } else { - TRC.chan_en[CH_D1] = 0; - TRC.chan_en[9] = 1; + chan_en[CH_D1] = 0; + chan_en[9] = 1; } } else { - TRC.chan_en[ch] = channel->v_mid & (1 << i); + chan_en[ch] = channel->v_mid & (1 << i); } return; } @@ -118,35 +118,35 @@ void __all_output_ctrl_mode_ch_vsan(struct ch_all_out_ctrl_ctx_t *channel, uint3 if (channel->t_late_period) { if (ch==CH_D0 && instru.tri_d0_as_5v_en==1) { if(channel->v_late) { - TRC.chan_en[CH_D0] = 0; - TRC.chan_en[8] = 0; + chan_en[CH_D0] = 0; + chan_en[8] = 0; } else { - TRC.chan_en[CH_D0] = 0; - TRC.chan_en[8] = 1; + chan_en[CH_D0] = 0; + chan_en[8] = 1; } } else if (ch==CH_D1 && instru.tri_d1_as_5v_en==1) { if(channel->v_late) { - TRC.chan_en[CH_D1] = 0; - TRC.chan_en[9] = 0; + chan_en[CH_D1] = 0; + chan_en[9] = 0; } else { - TRC.chan_en[CH_D1] = 0; - TRC.chan_en[9] = 1; + chan_en[CH_D1] = 0; + chan_en[9] = 1; } } else { - TRC.chan_en[ch] = channel->v_late; + chan_en[ch] = channel->v_late; } if (channel->v_scan_rate >= channel->t_late) { channel->v_scan_rate -= channel->t_late; //To get right time channel->used = false; if (ch==CH_D0 && instru.tri_d0_as_5v_en==1) { //ending - TRC.chan_en[CH_D0] = 0; - TRC.chan_en[8] = 1; + chan_en[CH_D0] = 0; + chan_en[8] = 1; } else if (ch==CH_D1 && instru.tri_d1_as_5v_en==1) { - TRC.chan_en[CH_D1] = 0; - TRC.chan_en[9] = 1; + chan_en[CH_D1] = 0; + chan_en[9] = 1; } else { - TRC.chan_en[ch] = 0; + chan_en[ch] = 0; } } return;