fix: 修正dev_mode打e1~e4的api
This commit is contained in:
@@ -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
@@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user