fix: 修正dev_mode打e1~e4的api

This commit is contained in:
Roy_01
2024-11-01 16:48:12 +08:00
parent 917bff3c20
commit f904bded31
2 changed files with 128 additions and 238 deletions
+2 -2
View File
@@ -15,8 +15,8 @@
#define VERSION_DATE_YEAR 24
#define VERSION_DATE_MONTH 11
#define VERSION_DATE_DAY 1
#define VERSION_DATE_HOUR 14
#define VERSION_DATE_MINUTE 24
#define VERSION_DATE_HOUR 16
#define VERSION_DATE_MINUTE 48
static void cis_version(uint8_t *ins, uint16_t size)
{
NRF_LOG_INFO("%s", __FUNCTION__);
+126 -236
View File
@@ -116,11 +116,8 @@ double u8_to_double(const uint8_t *ins, uint32_t start_idx)
return result;
}
#define PULSE_GEN_A_NUMB 2
#define PULSE_GEN_B_NUMB 2
static pulse_gen_t p_pulse_genA[PULSE_GEN_A_NUMB];
static pulse_gen_t p_pulse_genB[PULSE_GEN_B_NUMB];
static pulse_gen_t pulse_gen[PULSE_GEN_A_NUMB + PULSE_GEN_B_NUMB];
#define PULSE_GEN_NUMB 4
static pulse_gen_t pulse_gen[PULSE_GEN_NUMB];
static void set_bmd380_pin_signal(uint8_t pin_number, uint8_t high_low)
{
@@ -395,24 +392,6 @@ static void electrode_pulse_channel(uint8_t electrode_mode)
}
}
void reset_pulse(pulse_gen_t *p_pulse_gen)
{
p_pulse_gen->VAxH = 0xFFFFFFFF;
p_pulse_gen->VAxL = 0xFFFFFFFF;
p_pulse_gen->VBxH = 0xFFFFFFFF;
p_pulse_gen->VBxL = 0xFFFFFFFF;
p_pulse_gen->idle_us = 0;
p_pulse_gen->point_us[0] = 0;
p_pulse_gen->point_us[1] = 0;
p_pulse_gen->point_us[2] = 0;
p_pulse_gen->point_us[3] = 0;
p_pulse_gen->point_us[4] = 0;
p_pulse_gen->point_us[5] = 0;
p_pulse_gen->point_us[6] = 0;
p_pulse_gen->pulse_cnt = 1;
p_pulse_gen->pulse_id = PULSE_ID_NULL;
}
void set_cpg_pulse_parameter(uint8_t *ins)
{
NRF_LOG_INFO("%s", __FUNCTION__);
@@ -422,11 +401,7 @@ void set_cpg_pulse_parameter(uint8_t *ins)
uint8_t electrodes4_pulse_gen_sel = (ins[5] & 0b00010000) >> 4;
uint32_t pulse_width_us = ins[6] << 24 | ins[7] << 16 | ins[8] << 8 | ins[9];
uint32_t freq_hz = ins[10] << 24 | ins[11] << 16 | ins[12] << 8 | ins[13];
reset_pulse(&p_pulse_genA[0]);
reset_pulse(&p_pulse_genA[1]);
reset_pulse(&p_pulse_genB[0]);
reset_pulse(&p_pulse_genB[1]);
uint32_t half_idle_us;
if (electrodes1_pulse_gen_sel)
{
@@ -444,35 +419,17 @@ void set_cpg_pulse_parameter(uint8_t *ins)
.point_us[6] = 1,
.idle_us = 0,
.pulse_cnt = UINT32_MAX,
.pulse_id = PULSE_ID_NULL,
.pulse_id = PULSE_ID_A,
};
NRF_LOG_INFO("[%d]user pulse_width = %u us", 1, pulse_width_us);
NRF_LOG_INFO("[%d]user freq_hz = %u Hz (Period = %dus)", 1, freq_hz, 1 * 1000000 / freq_hz);
if (freq_hz == 0)
{
pulse_gen[0].idle_us = 0;
}
else
{
if (electrodes1_pulse_gen_sel && electrodes2_pulse_gen_sel)
{
pulse_gen[0].idle_us = (1000000 / freq_hz - (pulse_gen[0].point_us[0] + pulse_gen[0].point_us[1] + pulse_gen[0].point_us[2] +
pulse_gen[0].point_us[3] + pulse_gen[0].point_us[4] + pulse_gen[0].point_us[5] +
pulse_gen[0].point_us[6]) *
2) /
2;
}
pulse_gen[0].idle_us = 1000000 / freq_hz - (pulse_gen[0].point_us[0] + pulse_gen[0].point_us[1] + pulse_gen[0].point_us[2] + pulse_gen[0].point_us[3] + pulse_gen[0].point_us[4] + pulse_gen[0].point_us[5] + pulse_gen[0].point_us[6]);
}
NRF_LOG_INFO("[%d]a = %u us", 1, pulse_gen[0].point_us[0]);
NRF_LOG_INFO("[%d]b = %u us", 1, pulse_gen[0].point_us[1]);
NRF_LOG_INFO("[%d]c = %u us", 1, pulse_gen[0].point_us[2]);
NRF_LOG_INFO("[%d]d = %u us", 1, pulse_gen[0].point_us[3]);
NRF_LOG_INFO("[%d]e = %u us", 1, pulse_gen[0].point_us[4]);
NRF_LOG_INFO("[%d]f = %u us", 1, pulse_gen[0].point_us[5]);
NRF_LOG_INFO("[%d]g = %u us", 1, pulse_gen[0].point_us[6]);
NRF_LOG_INFO("[%d]idle = %u us", 1, pulse_gen[0].idle_us);
}
if (electrodes2_pulse_gen_sel)
@@ -491,35 +448,24 @@ void set_cpg_pulse_parameter(uint8_t *ins)
.point_us[6] = 1,
.idle_us = 0,
.pulse_cnt = UINT32_MAX,
.pulse_id = PULSE_ID_NULL,
.pulse_id = PULSE_ID_B,
};
NRF_LOG_INFO("[%d]user pulse_width = %u us", 2, pulse_width_us);
NRF_LOG_INFO("[%d]user freq_hz = %u Hz (Period = %dus)", 2, freq_hz, 1 * 1000000 / freq_hz);
if (freq_hz == 0)
{
pulse_gen[0].idle_us = 0;
pulse_gen[1].idle_us = 0;
}
else
{
if (electrodes1_pulse_gen_sel && electrodes2_pulse_gen_sel)
{
pulse_gen[1].idle_us = (1000000 / freq_hz - (pulse_gen[1].point_us[0] + pulse_gen[1].point_us[1] + pulse_gen[1].point_us[2] +
pulse_gen[1].point_us[3] + pulse_gen[1].point_us[4] + pulse_gen[1].point_us[5] +
pulse_gen[1].point_us[6]) *
2) /
2;
}
pulse_gen[1].idle_us = 1000000 / freq_hz - (pulse_gen[1].point_us[0] + pulse_gen[1].point_us[1] + pulse_gen[1].point_us[2] + pulse_gen[1].point_us[3] + pulse_gen[1].point_us[4] + pulse_gen[1].point_us[5] + pulse_gen[1].point_us[6]);
}
}
NRF_LOG_INFO("[%d]a = %u us", 2, pulse_gen[1].point_us[0]);
NRF_LOG_INFO("[%d]b = %u us", 2, pulse_gen[1].point_us[1]);
NRF_LOG_INFO("[%d]c = %u us", 2, pulse_gen[1].point_us[2]);
NRF_LOG_INFO("[%d]d = %u us", 2, pulse_gen[1].point_us[3]);
NRF_LOG_INFO("[%d]e = %u us", 2, pulse_gen[1].point_us[4]);
NRF_LOG_INFO("[%d]f = %u us", 2, pulse_gen[1].point_us[5]);
NRF_LOG_INFO("[%d]g = %u us", 2, pulse_gen[1].point_us[6]);
NRF_LOG_INFO("[%d]idle = %u us", 2, pulse_gen[1].idle_us);
if (electrodes1_pulse_gen_sel && electrodes2_pulse_gen_sel && freq_hz != 0)
{
half_idle_us = (1000000 / freq_hz - (pulse_gen[0].point_us[0] + pulse_gen[0].point_us[1] + pulse_gen[0].point_us[2] + pulse_gen[0].point_us[3] + pulse_gen[0].point_us[4] + pulse_gen[0].point_us[5] + pulse_gen[0].point_us[6]) - (pulse_gen[1].point_us[0] + pulse_gen[1].point_us[1] + pulse_gen[1].point_us[2] + pulse_gen[1].point_us[3] + pulse_gen[1].point_us[4] + pulse_gen[1].point_us[5] + pulse_gen[1].point_us[6])) / 2;
pulse_gen[0].idle_us = half_idle_us;
pulse_gen[1].idle_us = half_idle_us;
}
if (electrodes3_pulse_gen_sel)
@@ -538,35 +484,17 @@ void set_cpg_pulse_parameter(uint8_t *ins)
.point_us[6] = 1,
.idle_us = 0,
.pulse_cnt = UINT32_MAX,
.pulse_id = PULSE_ID_NULL,
.pulse_id = PULSE_ID_C,
};
NRF_LOG_INFO("[%d]user pulse_width = %u us", 3, pulse_width_us);
NRF_LOG_INFO("[%d]user freq_hz = %u Hz (Period = %dus)", 3, freq_hz, 1 * 1000000 / freq_hz);
if (freq_hz == 0)
{
pulse_gen[0].idle_us = 0;
pulse_gen[2].idle_us = 0;
}
else
{
if (electrodes3_pulse_gen_sel && electrodes4_pulse_gen_sel)
{
pulse_gen[2].idle_us = (1000000 / freq_hz - (pulse_gen[2].point_us[0] + pulse_gen[2].point_us[1] + pulse_gen[2].point_us[2] +
pulse_gen[2].point_us[3] + pulse_gen[2].point_us[4] + pulse_gen[2].point_us[5] +
pulse_gen[2].point_us[6]) *
2) /
2;
}
pulse_gen[2].idle_us = 1000000 / freq_hz - (pulse_gen[2].point_us[0] + pulse_gen[2].point_us[1] + pulse_gen[2].point_us[2] + pulse_gen[2].point_us[3] + pulse_gen[2].point_us[4] + pulse_gen[2].point_us[5] + pulse_gen[2].point_us[6]);
}
NRF_LOG_INFO("[%d]a = %u us", 3, pulse_gen[2].point_us[0]);
NRF_LOG_INFO("[%d]b = %u us", 3, pulse_gen[2].point_us[1]);
NRF_LOG_INFO("[%d]c = %u us", 3, pulse_gen[2].point_us[2]);
NRF_LOG_INFO("[%d]d = %u us", 3, pulse_gen[2].point_us[3]);
NRF_LOG_INFO("[%d]e = %u us", 3, pulse_gen[2].point_us[4]);
NRF_LOG_INFO("[%d]f = %u us", 3, pulse_gen[2].point_us[5]);
NRF_LOG_INFO("[%d]g = %u us", 3, pulse_gen[2].point_us[6]);
NRF_LOG_INFO("[%d]idle = %u us", 3, pulse_gen[2].idle_us);
}
if (electrodes4_pulse_gen_sel)
@@ -585,35 +513,48 @@ void set_cpg_pulse_parameter(uint8_t *ins)
.point_us[6] = 1,
.idle_us = 0,
.pulse_cnt = UINT32_MAX,
.pulse_id = PULSE_ID_NULL,
.pulse_id = PULSE_ID_D,
};
NRF_LOG_INFO("[%d]user pulse_width = %u us", 4, pulse_width_us);
NRF_LOG_INFO("[%d]user freq_hz = %u Hz (Period = %dus)", 4, freq_hz, 1 * 1000000 / freq_hz);
if (freq_hz == 0)
{
pulse_gen[0].idle_us = 0;
pulse_gen[3].idle_us = 0;
}
else
{
if (electrodes3_pulse_gen_sel && electrodes4_pulse_gen_sel)
{
pulse_gen[3].idle_us = (1000000 / freq_hz - (pulse_gen[3].point_us[0] + pulse_gen[3].point_us[1] + pulse_gen[3].point_us[2] +
pulse_gen[3].point_us[3] + pulse_gen[3].point_us[4] + pulse_gen[3].point_us[5] +
pulse_gen[3].point_us[6]) *
2) /
2;
}
pulse_gen[3].idle_us = 1000000 / freq_hz - (pulse_gen[3].point_us[0] + pulse_gen[3].point_us[1] + pulse_gen[3].point_us[2] + pulse_gen[3].point_us[3] + pulse_gen[3].point_us[4] + pulse_gen[3].point_us[5] + pulse_gen[3].point_us[6]);
}
}
NRF_LOG_INFO("[%d]a = %u us", 4, pulse_gen[3].point_us[0]);
NRF_LOG_INFO("[%d]b = %u us", 4, pulse_gen[3].point_us[1]);
NRF_LOG_INFO("[%d]c = %u us", 4, pulse_gen[3].point_us[2]);
NRF_LOG_INFO("[%d]d = %u us", 4, pulse_gen[3].point_us[3]);
NRF_LOG_INFO("[%d]e = %u us", 4, pulse_gen[3].point_us[4]);
NRF_LOG_INFO("[%d]f = %u us", 4, pulse_gen[3].point_us[5]);
NRF_LOG_INFO("[%d]g = %u us", 4, pulse_gen[3].point_us[6]);
NRF_LOG_INFO("[%d]idle = %u us", 4, pulse_gen[3].idle_us);
if (electrodes3_pulse_gen_sel && electrodes4_pulse_gen_sel && freq_hz != 0)
{
half_idle_us = (1000000 / freq_hz - (pulse_gen[2].point_us[0] + pulse_gen[2].point_us[1] + pulse_gen[2].point_us[2] + pulse_gen[2].point_us[3] + pulse_gen[2].point_us[4] + pulse_gen[2].point_us[5] + pulse_gen[2].point_us[6]) - (pulse_gen[3].point_us[0] + pulse_gen[3].point_us[1] + pulse_gen[3].point_us[2] + pulse_gen[3].point_us[3] + pulse_gen[3].point_us[4] + pulse_gen[3].point_us[5] + pulse_gen[3].point_us[6])) / 2;
pulse_gen[2].idle_us = half_idle_us;
pulse_gen[3].idle_us = half_idle_us;
}
for (int i = 0; i < PULSE_GEN_NUMB; i++)
{
if ((i == 0 && electrodes1_pulse_gen_sel) || (i == 1 && electrodes2_pulse_gen_sel) || (i == 2 && electrodes3_pulse_gen_sel) || (i == 3 && electrodes4_pulse_gen_sel))
{
NRF_LOG_INFO("set electrodes%d_pulse_gen", i + 1);
NRF_LOG_INFO("[%d]user pulse_width = %u us", 1, pulse_width_us);
NRF_LOG_INFO("[%d]user freq_hz = %u Hz (Period = %dus)", 1, freq_hz, 1 * 1000000 / freq_hz);
NRF_LOG_INFO("pulse_gen[%d]VAxH = %d", i, pulse_gen[i].VAxH);
NRF_LOG_INFO("pulse_gen[%d]VAxL = %d", i, pulse_gen[i].VAxL);
NRF_LOG_INFO("pulse_gen[%d]VBxH = %d", i, pulse_gen[i].VBxH);
NRF_LOG_INFO("pulse_gen[%d]VBxL = %d", i, pulse_gen[i].VBxL);
NRF_LOG_INFO("pulse_gen[%d]a = %u us", i, pulse_gen[i].point_us[0]);
NRF_LOG_INFO("pulse_gen[%d]b = %u us", i, pulse_gen[i].point_us[1]);
NRF_LOG_INFO("pulse_gen[%d]c = %u us", i, pulse_gen[i].point_us[2]);
NRF_LOG_INFO("pulse_gen[%d]d = %u us", i, pulse_gen[i].point_us[3]);
NRF_LOG_INFO("pulse_gen[%d]e = %u us", i, pulse_gen[i].point_us[4]);
NRF_LOG_INFO("pulse_gen[%d]f = %u us", i, pulse_gen[i].point_us[5]);
NRF_LOG_INFO("pulse_gen[%d]g = %u us", i, pulse_gen[i].point_us[6]);
NRF_LOG_INFO("pulse_gen[%d]idle = %u us", i, pulse_gen[i].idle_us);
NRF_LOG_INFO("pulse_gen[%d]pulse_cnt = 0x%08X cnt", i, pulse_gen[i].pulse_cnt);
NRF_LOG_INFO("pulse_gen[%d]pulse_id = %u", i, pulse_gen[i].pulse_id);
}
}
NRF_LOG_INFO("set ok......");
@@ -622,134 +563,96 @@ void set_cpg_pulse_parameter(uint8_t *ins)
static void start_which_electrodes(uint8_t *ins)
{
NRF_LOG_INFO("%s", __FUNCTION__);
uint8_t electrodes1_pulse_gen_en = (ins[5] & 0b10000000) >> 7;
uint8_t electrodes2_pulse_gen_en = (ins[5] & 0b01000000) >> 6;
uint8_t electrodes3_pulse_gen_en = (ins[5] & 0b00100000) >> 5;
uint8_t electrodes4_pulse_gen_en = (ins[5] & 0b00010000) >> 4;
uint32_t inum = 0;
uint8_t e1_en = (ins[5] & 0b10000000) >> 7;
uint8_t e2_en = (ins[5] & 0b01000000) >> 6;
uint8_t e3_en = (ins[5] & 0b00100000) >> 5;
uint8_t e4_en = (ins[5] & 0b00010000) >> 4;
uint32_t inum = 0;
inum = 0;
if (electrodes1_pulse_gen_en)
if (e1_en)
{
p_pulse_genA[inum] = pulse_gen[0];
p_pulse_genA[inum].pulse_id = PULSE_ID_A;
nrf_gpio_pin_clear(p_pulse_genA[inum].VBxL);
nrf_gpio_pin_clear(p_pulse_genA[inum].VBxH);
nrf_gpio_pin_clear(p_pulse_genA[inum].VAxL);
nrf_gpio_pin_clear(p_pulse_genA[inum].VAxH);
NRF_LOG_INFO("start electrodes1_pulse_gen");
}
else
{
p_pulse_genA[inum].VBxL = 0xFFFFFFFF;
p_pulse_genA[inum].VBxH = 0xFFFFFFFF;
p_pulse_genA[inum].VAxL = 0xFFFFFFFF;
p_pulse_genA[inum].VAxH = 0xFFFFFFFF;
nrf_gpio_pin_clear(pulse_gen[0].VBxL);
nrf_gpio_pin_clear(pulse_gen[0].VBxH);
nrf_gpio_pin_clear(pulse_gen[0].VAxL);
nrf_gpio_pin_clear(pulse_gen[0].VAxH);
}
inum = 1;
if (electrodes2_pulse_gen_en)
if (e2_en)
{
p_pulse_genA[inum] = pulse_gen[1];
p_pulse_genA[inum].pulse_id = PULSE_ID_B;
nrf_gpio_pin_clear(p_pulse_genA[inum].VBxL);
nrf_gpio_pin_clear(p_pulse_genA[inum].VBxH);
nrf_gpio_pin_clear(p_pulse_genA[inum].VAxL);
nrf_gpio_pin_clear(p_pulse_genA[inum].VAxH);
NRF_LOG_INFO("start electrodes2_pulse_gen");
}
else
{
p_pulse_genA[inum].VBxL = 0xFFFFFFFF;
p_pulse_genA[inum].VBxH = 0xFFFFFFFF;
p_pulse_genA[inum].VAxL = 0xFFFFFFFF;
p_pulse_genA[inum].VAxH = 0xFFFFFFFF;
nrf_gpio_pin_clear(pulse_gen[1].VBxL);
nrf_gpio_pin_clear(pulse_gen[1].VBxH);
nrf_gpio_pin_clear(pulse_gen[1].VAxL);
nrf_gpio_pin_clear(pulse_gen[1].VAxH);
}
if (electrodes1_pulse_gen_en || electrodes2_pulse_gen_en)
if (e3_en)
{
cpg11_pulse_init(0, &p_pulse_genA[0], 2);
cpg11_pulse_start(0, &p_pulse_genA[0]);
nrf_gpio_pin_clear(pulse_gen[2].VBxL);
nrf_gpio_pin_clear(pulse_gen[2].VBxH);
nrf_gpio_pin_clear(pulse_gen[2].VAxL);
nrf_gpio_pin_clear(pulse_gen[2].VAxH);
}
inum = 0;
if (electrodes3_pulse_gen_en)
if (e4_en)
{
p_pulse_genB[inum] = pulse_gen[2];
p_pulse_genB[inum].pulse_id = PULSE_ID_C;
nrf_gpio_pin_clear(p_pulse_genB[inum].VBxL);
nrf_gpio_pin_clear(p_pulse_genB[inum].VBxH);
nrf_gpio_pin_clear(p_pulse_genB[inum].VAxL);
nrf_gpio_pin_clear(p_pulse_genB[inum].VAxH);
NRF_LOG_INFO("start electrodes3_pulse_gen");
}
else
{
p_pulse_genB[inum].VBxL = 0xFFFFFFFF;
p_pulse_genB[inum].VBxH = 0xFFFFFFFF;
p_pulse_genB[inum].VAxL = 0xFFFFFFFF;
p_pulse_genB[inum].VAxH = 0xFFFFFFFF;
nrf_gpio_pin_clear(pulse_gen[3].VBxL);
nrf_gpio_pin_clear(pulse_gen[3].VBxH);
nrf_gpio_pin_clear(pulse_gen[3].VAxL);
nrf_gpio_pin_clear(pulse_gen[3].VAxH);
}
inum = 1;
if (electrodes4_pulse_gen_en)
if (e1_en && e2_en)
{
p_pulse_genB[inum] = pulse_gen[3];
p_pulse_genB[inum].pulse_id = PULSE_ID_D;
nrf_gpio_pin_clear(p_pulse_genB[inum].VBxL);
nrf_gpio_pin_clear(p_pulse_genB[inum].VBxH);
nrf_gpio_pin_clear(p_pulse_genB[inum].VAxL);
nrf_gpio_pin_clear(p_pulse_genB[inum].VAxH);
NRF_LOG_INFO("start electrodes4_pulse_gen");
cpg11_pulse_init(0, &pulse_gen[0], 2);
cpg11_pulse_start(0, &pulse_gen[0]);
}
else
else if (e1_en && e2_en == 0)
{
p_pulse_genB[inum].VBxL = 0xFFFFFFFF;
p_pulse_genB[inum].VBxH = 0xFFFFFFFF;
p_pulse_genB[inum].VAxL = 0xFFFFFFFF;
p_pulse_genB[inum].VAxH = 0xFFFFFFFF;
cpg11_pulse_init(0, &pulse_gen[0], 1);
cpg11_pulse_start(0, &pulse_gen[0]);
}
else if (e2_en && e1_en == 0)
{
cpg11_pulse_init(0, &pulse_gen[1], 1);
cpg11_pulse_start(0, &pulse_gen[1]);
}
if (electrodes3_pulse_gen_en || electrodes4_pulse_gen_en)
if (e3_en && e4_en)
{
cpg11_pulse_init(1, &p_pulse_genB[0], 2);
cpg11_pulse_start(1, &p_pulse_genB[0]);
cpg11_pulse_init(1, &pulse_gen[2], 2);
cpg11_pulse_start(1, &pulse_gen[2]);
}
else if (e3_en && e4_en == 0)
{
cpg11_pulse_init(1, &pulse_gen[2], 1);
cpg11_pulse_start(1, &pulse_gen[2]);
}
else if (e4_en && e3_en == 0)
{
cpg11_pulse_init(1, &pulse_gen[3], 1);
cpg11_pulse_start(1, &pulse_gen[3]);
}
for (int i = 0; i < 2; i++)
for (int i = 0; i < PULSE_GEN_NUMB; i++)
{
NRF_LOG_INFO("p_pulse_genA[%d]VAxH = %d", i, p_pulse_genA[i].VAxH);
NRF_LOG_INFO("p_pulse_genA[%d]VAxL = %d", i, p_pulse_genA[i].VAxL);
NRF_LOG_INFO("p_pulse_genA[%d]VBxH = %d", i, p_pulse_genA[i].VBxH);
NRF_LOG_INFO("p_pulse_genA[%d]VBxL = %d", i, p_pulse_genA[i].VBxL);
NRF_LOG_INFO("p_pulse_genA[%d]a = %u us", i, p_pulse_genA[i].point_us[0]);
NRF_LOG_INFO("p_pulse_genA[%d]b = %u us", i, p_pulse_genA[i].point_us[1]);
NRF_LOG_INFO("p_pulse_genA[%d]c = %u us", i, p_pulse_genA[i].point_us[2]);
NRF_LOG_INFO("p_pulse_genA[%d]d = %u us", i, p_pulse_genA[i].point_us[3]);
NRF_LOG_INFO("p_pulse_genA[%d]e = %u us", i, p_pulse_genA[i].point_us[4]);
NRF_LOG_INFO("p_pulse_genA[%d]f = %u us", i, p_pulse_genA[i].point_us[5]);
NRF_LOG_INFO("p_pulse_genA[%d]g = %u us", i, p_pulse_genA[i].point_us[6]);
NRF_LOG_INFO("p_pulse_genA[%d]idle = %u us", i, p_pulse_genA[i].idle_us);
NRF_LOG_INFO("p_pulse_genA[%d]pulse_cnt = 0x%08X cnt", i, p_pulse_genA[i].pulse_cnt);
NRF_LOG_INFO("p_pulse_genA[%d]pulse_id = %u", i, p_pulse_genA[i].pulse_id);
}
for (int i = 0; i < 2; i++)
{
NRF_LOG_INFO("p_pulse_genB[%d]VAxH = %d", i, p_pulse_genB[i].VAxH);
NRF_LOG_INFO("p_pulse_genB[%d]VAxL = %d", i, p_pulse_genB[i].VAxL);
NRF_LOG_INFO("p_pulse_genB[%d]VBxH = %d", i, p_pulse_genB[i].VBxH);
NRF_LOG_INFO("p_pulse_genB[%d]VBxL = %d", i, p_pulse_genB[i].VBxL);
NRF_LOG_INFO("p_pulse_genB[%d]a = %u us", i, p_pulse_genB[i].point_us[0]);
NRF_LOG_INFO("p_pulse_genB[%d]b = %u us", i, p_pulse_genB[i].point_us[1]);
NRF_LOG_INFO("p_pulse_genB[%d]c = %u us", i, p_pulse_genB[i].point_us[2]);
NRF_LOG_INFO("p_pulse_genB[%d]d = %u us", i, p_pulse_genB[i].point_us[3]);
NRF_LOG_INFO("p_pulse_genB[%d]e = %u us", i, p_pulse_genB[i].point_us[4]);
NRF_LOG_INFO("p_pulse_genB[%d]f = %u us", i, p_pulse_genB[i].point_us[5]);
NRF_LOG_INFO("p_pulse_genB[%d]g = %u us", i, p_pulse_genB[i].point_us[6]);
NRF_LOG_INFO("p_pulse_genB[%d]idle = %u us", i, p_pulse_genB[i].idle_us);
NRF_LOG_INFO("p_pulse_genB[%d]pulse_cnt = 0x%08X cnt", i, p_pulse_genB[i].pulse_cnt);
NRF_LOG_INFO("p_pulse_genB[%d]pulse_id = %u", i, p_pulse_genB[i].pulse_id);
if ((i == 0 && e1_en) || (i == 1 && e2_en) || (i == 2 && e3_en) || (i == 3 && e4_en))
{
NRF_LOG_INFO("start electrodes%d_pulse_gen", i + 1);
NRF_LOG_INFO("pulse_gen[%d]VAxH = %d", i, pulse_gen[i].VAxH);
NRF_LOG_INFO("pulse_gen[%d]VAxL = %d", i, pulse_gen[i].VAxL);
NRF_LOG_INFO("pulse_gen[%d]VBxH = %d", i, pulse_gen[i].VBxH);
NRF_LOG_INFO("pulse_gen[%d]VBxL = %d", i, pulse_gen[i].VBxL);
NRF_LOG_INFO("pulse_gen[%d]a = %u us", i, pulse_gen[i].point_us[0]);
NRF_LOG_INFO("pulse_gen[%d]b = %u us", i, pulse_gen[i].point_us[1]);
NRF_LOG_INFO("pulse_gen[%d]c = %u us", i, pulse_gen[i].point_us[2]);
NRF_LOG_INFO("pulse_gen[%d]d = %u us", i, pulse_gen[i].point_us[3]);
NRF_LOG_INFO("pulse_gen[%d]e = %u us", i, pulse_gen[i].point_us[4]);
NRF_LOG_INFO("pulse_gen[%d]f = %u us", i, pulse_gen[i].point_us[5]);
NRF_LOG_INFO("pulse_gen[%d]g = %u us", i, pulse_gen[i].point_us[6]);
NRF_LOG_INFO("pulse_gen[%d]idle = %u us", i, pulse_gen[i].idle_us);
NRF_LOG_INFO("pulse_gen[%d]pulse_cnt = 0x%08X cnt", i, pulse_gen[i].pulse_cnt);
NRF_LOG_INFO("pulse_gen[%d]pulse_id = %u", i, pulse_gen[i].pulse_id);
}
}
}
@@ -766,8 +669,6 @@ static void stop_which_electrodes(uint8_t *ins)
cpg11_pulse_stop(0);
NRF_LOG_INFO("stop electrodes1_pulse_gen");
NRF_LOG_INFO("stop electrodes2_pulse_gen");
p_pulse_genA[0].pulse_id = PULSE_ID_NULL;
p_pulse_genA[1].pulse_id = PULSE_ID_NULL;
}
if (electrodes3_pulse_gen_dis || electrodes4_pulse_gen_dis)
@@ -775,17 +676,6 @@ static void stop_which_electrodes(uint8_t *ins)
cpg11_pulse_stop(1);
NRF_LOG_INFO("stop electrodes3_pulse_gen");
NRF_LOG_INFO("stop electrodes4_pulse_gen");
p_pulse_genB[0].pulse_id = PULSE_ID_NULL;
p_pulse_genB[1].pulse_id = PULSE_ID_NULL;
}
for (int i = 0; i < 2; i++)
{
NRF_LOG_INFO("pulse_genA[%d]pulse_id: %d", i, p_pulse_genA[i].pulse_id);
}
for (int i = 0; i < 2; i++)
{
NRF_LOG_INFO("pulse_genB[%d]pulse_id: %d", i, p_pulse_genB[i].pulse_id);
}
NRF_LOG_INFO("\n\n")
@@ -801,25 +691,25 @@ static void suspend_which_electrodes(uint8_t *ins)
if (electrodes1_pulse_gen_dis)
{
cpg11_pulse_suspend_by_pulse_id(p_pulse_genA[0].pulse_id);
cpg11_pulse_suspend_by_pulse_id(pulse_gen[0].pulse_id);
NRF_LOG_INFO("suspend electrodes1_pulse_gen");
}
if (electrodes2_pulse_gen_dis)
{
cpg11_pulse_suspend_by_pulse_id(p_pulse_genA[1].pulse_id);
cpg11_pulse_suspend_by_pulse_id(pulse_gen[1].pulse_id);
NRF_LOG_INFO("suspend electrodes2_pulse_gen");
}
if (electrodes3_pulse_gen_dis)
{
cpg11_pulse_suspend_by_pulse_id(p_pulse_genB[0].pulse_id);
cpg11_pulse_suspend_by_pulse_id(pulse_gen[2].pulse_id);
NRF_LOG_INFO("suspend electrodes3_pulse_gen");
}
if (electrodes4_pulse_gen_dis)
{
cpg11_pulse_suspend_by_pulse_id(p_pulse_genB[1].pulse_id);
cpg11_pulse_suspend_by_pulse_id(pulse_gen[3].pulse_id);
NRF_LOG_INFO("suspend electrodes4_pulse_gen");
}
}
@@ -834,25 +724,25 @@ static void resume_which_electrodes(uint8_t *ins)
if (electrodes1_pulse_gen_dis)
{
cpg11_pulse_resume_by_pulse_id(p_pulse_genA[0].pulse_id);
cpg11_pulse_resume_by_pulse_id(pulse_gen[0].pulse_id);
NRF_LOG_INFO("resume electrodes1_pulse_gen");
}
if (electrodes2_pulse_gen_dis)
{
cpg11_pulse_resume_by_pulse_id(p_pulse_genA[1].pulse_id);
cpg11_pulse_resume_by_pulse_id(pulse_gen[1].pulse_id);
NRF_LOG_INFO("resume electrodes2_pulse_gen");
}
if (electrodes3_pulse_gen_dis)
{
cpg11_pulse_resume_by_pulse_id(p_pulse_genB[0].pulse_id);
cpg11_pulse_resume_by_pulse_id(pulse_gen[2].pulse_id);
NRF_LOG_INFO("resume electrodes3_pulse_gen");
}
if (electrodes4_pulse_gen_dis)
{
cpg11_pulse_resume_by_pulse_id(p_pulse_genB[1].pulse_id);
cpg11_pulse_resume_by_pulse_id(pulse_gen[3].pulse_id);
NRF_LOG_INFO("resume electrodes4_pulse_gen");
}
}