Browse Source

update

3leadtest
zhaohe 1 year ago
parent
commit
0cd9bbdec4
  1. 3
      .vscode/settings.json
  2. 84
      app/src/ads1293_simple_tester.c
  3. 3
      app/src/board/board_light_ctrl.c
  4. 1
      app/src/board/board_light_ctrl.h
  5. 7051
      bin2/app.hex
  6. BIN
      bin2/app3.zip
  7. BIN
      bin2/app4.zip
  8. 16
      bin2/bl_temp.hex
  9. 16
      bin2/settings.hex
  10. 7067
      bin2/whole.hex

3
.vscode/settings.json

@ -160,7 +160,8 @@
"stop_token": "cpp",
"streambuf": "cpp",
"thread": "cpp",
"cinttypes": "cpp"
"cinttypes": "cpp",
"board_light_ctrl.h": "c"
},
"files.encoding": "gbk"
}

84
app/src/ads1293_simple_tester.c

@ -9,6 +9,8 @@
#include "app_event_distribute.h"
#include "basic/ads1293/ads1293.h"
#include "board/board.h"
#include "board/board_beep_ctrl.h"
#include "board/board_light_ctrl.h"
#include "device_ctrl_service.h"
#include "nrf_drv_gpiote.h"
#include "sample_data_manager_service.h"
@ -19,7 +21,7 @@
ZDATACHANNEL_DEF(m_zhrs, 2 /*ÓÅÏȼ¶*/, 1 /*client num*/);
static const nrf_drv_spi_t spi = NRF_DRV_SPI_INSTANCE(ADS1293_SPI_INSTANCE); /**< SPI instance. */
static ads1293_t m_ads1293_0; // U2
// static ads1293_t m_ads1293_1;
static ads1293_t m_ads1293_1;
typedef struct {
uint8_t add;
uint8_t data;
@ -109,13 +111,13 @@ static adscfg_t m_prvads0cfg[] = //
{0x36, 0x00}, {0x37, 0x00}, {0x38, 0x00}, {0x39, 0x00}, {0x3a, 0x00}, {0x3b, 0x00}, {0x3c, 0x00}, {0x3d, 0x00}, {0x3e, 0x00}, {0x3f, 0x00}, {0x40, 0xff}, {0x50, 0x00}, {0x60, 0x00}, {0x62, 0x00},
};
// static adscfg_t m_prvads1cfg[] = //
// {
// {0x00, 0x00}, {0x01, 0x0c}, {0x02, 0x14}, {0x03, 0x00}, {0x04, 0x00}, {0x05, 0x00}, {0x06, 0x00}, {0x07, 0x0f}, {0x08, 0xff}, {0x09, 0x00}, {0x0a, 0x00}, {0x0b, 0x07}, {0x0c, 0x78}, {0x0d, 0x00}, {0x0e, 0x00}, {0x0f, 0x00}, {0x10, 0x04},
// {0x11, 0x00}, {0x12, 0x07}, {0x13, 0x3b}, {0x14, 0x24}, {0x15, 0x04}, {0x16, 0x00}, {0x17, 0x05}, {0x18, 0x00}, {0x19, 0x00}, {0x1a, 0x00}, {0x1b, 0x00}, {0x1c, 0x00}, {0x1d, 0x00}, {0x21, 0x01}, {0x22, 0x20}, {0x23, 0x20}, {0x24, 0x02},
// {0x25, 0x00}, {0x26, 0x00}, {0x27, 0x08}, {0x28, 0x40}, {0x29, 0x00}, {0x2a, 0x00}, {0x2b, 0x00}, {0x2c, 0x00}, {0x2d, 0x00}, {0x2e, 0x33}, {0x2f, 0x30}, {0x30, 0x00}, {0x31, 0x00}, {0x32, 0x00}, {0x33, 0x00}, {0x34, 0x00}, {0x35, 0x00},
// {0x36, 0x00}, {0x37, 0x00}, {0x38, 0x00}, {0x39, 0x00}, {0x3a, 0x00}, {0x3b, 0x00}, {0x3c, 0x00}, {0x3d, 0x00}, {0x3e, 0x00}, {0x3f, 0x00}, {0x40, 0xff}, {0x50, 0x00}, {0x60, 0x00}, {0x62, 0x00},
// };
static adscfg_t m_prvads1cfg[] = //
{
{0x00, 0x00}, {0x01, 0x0c}, {0x02, 0x14}, {0x03, 0x00}, {0x04, 0x00}, {0x05, 0x00}, {0x06, 0x00}, {0x07, 0x0f}, {0x08, 0xff}, {0x09, 0x00}, {0x0a, 0x00}, {0x0b, 0x07}, {0x0c, 0x78}, {0x0d, 0x00}, {0x0e, 0x00}, {0x0f, 0x00}, {0x10, 0x04},
{0x11, 0x00}, {0x12, 0x07}, {0x13, 0x3b}, {0x14, 0x24}, {0x15, 0x04}, {0x16, 0x00}, {0x17, 0x05}, {0x18, 0x00}, {0x19, 0x00}, {0x1a, 0x00}, {0x1b, 0x00}, {0x1c, 0x00}, {0x1d, 0x00}, {0x21, 0x01}, {0x22, 0x20}, {0x23, 0x20}, {0x24, 0x02},
{0x25, 0x00}, {0x26, 0x00}, {0x27, 0x08}, {0x28, 0x40}, {0x29, 0x00}, {0x2a, 0x00}, {0x2b, 0x00}, {0x2c, 0x00}, {0x2d, 0x00}, {0x2e, 0x33}, {0x2f, 0x30}, {0x30, 0x00}, {0x31, 0x00}, {0x32, 0x00}, {0x33, 0x00}, {0x34, 0x00}, {0x35, 0x00},
{0x36, 0x00}, {0x37, 0x00}, {0x38, 0x00}, {0x39, 0x00}, {0x3a, 0x00}, {0x3b, 0x00}, {0x3c, 0x00}, {0x3d, 0x00}, {0x3e, 0x00}, {0x3f, 0x00}, {0x40, 0xff}, {0x50, 0x00}, {0x60, 0x00}, {0x62, 0x00},
};
static void ads1293_init() {
/*******************************************************************************
@ -138,16 +140,16 @@ static void ads1293_init() {
m_ads1293_0.spi_tx_rx = ads1293_spi_tx_rx_0;
m_ads1293_0.id = 0;
// m_ads1293_1.spi_tx_rx = ads1293_spi_tx_rx_1;
// m_ads1293_1.id = 1;
m_ads1293_1.spi_tx_rx = ads1293_spi_tx_rx_1;
m_ads1293_1.id = 1;
ads1293_spi_init(&m_ads1293_0, ads1293_spi_tx_rx_0);
// ads1293_spi_init(&m_ads1293_1, ads1293_spi_tx_rx_1);
ads1293_spi_init(&m_ads1293_1, ads1293_spi_tx_rx_1);
uint8_t revid = ads1293_spi_readreg(&m_ads1293_0, TI_ADS1293_REVID_REG);
ZLOGI("ads1293_0 revid: %d\n", revid);
// revid = ads1293_spi_readreg(&m_ads1293_1, TI_ADS1293_REVID_REG);
// ZLOGI("ads1293_1 revid: %d\n", revid);
revid = ads1293_spi_readreg(&m_ads1293_1, TI_ADS1293_REVID_REG);
ZLOGI("ads1293_1 revid: %d\n", revid);
ads1293_spi_writereg(&m_ads1293_0, TI_ADS1293_CONFIG_REG, 0);
@ -170,7 +172,7 @@ static void ads1293_init() {
ads1293_spi_writereg_and_check(&m_ads1293_0, m_prvads0cfg[i].add, m_prvads0cfg[i].data);
}
}
#if 0
#if 1
tryloadcfg_from_fatfs("1.cfg", m_prvads1cfg_cache, ZARRAY_SIZE(m_prvads1cfg_cache), &cfgsize);
if (cfgsize > 0) {
ZLOGI("load 1.cfg from fatfs\n");
@ -210,11 +212,13 @@ int main() {
* ÀÑÀ·þÎñ³õʼ»¯ *
*******************************************************************************/
static zble_module_cfg_t cfg;
cfg.deviceName = "ADS1293_TESTER";
cfg.deviceName = "ADS1293_TESTER_3CH_V2";
cfg.on_service_init = onServiceInitCB;
zble_module_init(&cfg);
AppBleService_init();
// znordic_loop();
setup();
}
@ -234,7 +238,7 @@ void send_ads1293_error_state(ads1293_error_t* e0, ads1293_error_t* e1) { //
void capture_error_state() {
ads1293_read_error(&m_ads1293_0, &error0);
// ads1293_read_error(&m_ads1293_1, &error1);
ads1293_read_error(&m_ads1293_1, &error1);
#if 0
error0.estatus =1;
@ -279,7 +283,7 @@ void trigger_capture() {
static uint32_t sample[6];
static uint8_t readystatus[2] = {0};
ads1293_read_ecgs(&m_ads1293_0, &sample[0]);
// ads1293_read_ecgs(&m_ads1293_1, &sample[3]);
ads1293_read_ecgs(&m_ads1293_1, &sample[3]);
// static int i = 0;
// static int j = 0;
@ -290,17 +294,18 @@ void trigger_capture() {
// sample[0] = j;
// sample[3] = j;
// sample[4] = j;
// TI_ADS1293_DATA_STATUS_REG
// readystatus[0] = ads1293_read_ready_status(&m_ads1293_0);
// readystatus[1] = ads1293_read_ready_status(&m_ads1293_1);
if (zdatachannel_is_connected()) {
if (BoardLight_getGreenLightEffect() != kLightEffect_open) BoardLight_setGreenLightEffect(kLightEffect_open);
} else {
if (BoardLight_getGreenLightEffect() != kLightEffect_slowFlash) BoardLight_setGreenLightEffect(kLightEffect_slowFlash);
}
{
txpacket.frame[cache_data_size].h1 = 0xA2;
txpacket.frame[cache_data_size].h2 = 0x2;
txpacket.frame[cache_data_size].data[0].sample0 = sample[0];
txpacket.frame[cache_data_size].data[1].sample0 = sample[1];
txpacket.frame[cache_data_size].data[2].sample0 = sample[2];
txpacket.frame[cache_data_size].data[1].sample0 = sample[3];
txpacket.frame[cache_data_size].data[2].sample0 = sample[4];
txpacket.frame[cache_data_size].e1 = 0x2;
txpacket.frame[cache_data_size].e2 = 0xA2;
@ -317,6 +322,30 @@ static void ads1293_ready_pin_irq(nrfx_gpiote_pin_t pin, nrf_gpiote_polarity_t a
trigger_capture();
}
// static void ads1293_spi_tx_rx_0(uint8_t* tx, uint8_t* rx, uint8_t len) {
// nrf_gpio_pin_clear(ADS1293_SPI_CS0_PIN);
// nrf_drv_spi_transfer(&spi, tx, len, rx, len);
// nrf_gpio_pin_set(ADS1293_SPI_CS0_PIN);
// }
// static void ads1293_spi_tx_rx_1(uint8_t* tx, uint8_t* rx, uint8_t len) {
// nrf_gpio_pin_clear(ADS1293_SPI_CS1_PIN);
// nrf_drv_spi_transfer(&spi, tx, len, rx, len);
// nrf_gpio_pin_set(ADS1293_SPI_CS1_PIN);
// }
static void ads1293_start_all_conversion() {
nrf_gpio_pin_clear(ADS1293_SPI_CS0_PIN);
nrf_gpio_pin_clear(ADS1293_SPI_CS1_PIN);
uint8_t txcache[2];
txcache[0] = ADS1293_WRITE_BIT & TI_ADS1293_CONFIG_REG;
txcache[1] = 0x01;
nrf_drv_spi_transfer(&spi, txcache, 2, NULL, 0);
nrf_gpio_pin_set(ADS1293_SPI_CS0_PIN);
nrf_gpio_pin_set(ADS1293_SPI_CS1_PIN);
}
void setup() {
//
@ -325,8 +354,13 @@ void setup() {
SampleDataMgr_changeToLocalMode();
ads1293_init();
SampleDataMgr_changeToExtMode();
BoardBeepCtrl_init();
BoardLight_Init();
BoardBeepCtrl_load();
BoardLight_setGreenLightEffect(kLightEffect_slowFlash);
BoardBeepCtrl_setEffect(kBoardBeepEffect_threeShortBeep);
ads1293_start_conversion(&m_ads1293_0);
// ads1293_start_conversion(&m_ads1293_0);
// ads1293_start_conversion(&m_ads1293_1);
nrf_gpio_cfg_input(ADS1293_READY_PIN, NRF_GPIO_PIN_PULLUP);
@ -341,6 +375,8 @@ void setup() {
nrfx_gpiote_in_event_enable(ADS1293_READY_PIN, true);
}
ads1293_start_all_conversion();
while (true) {
app_sched_execute();
NRF_LOG_PROCESS();

3
app/src/board/board_light_ctrl.c

@ -57,6 +57,9 @@ void BoardLight_setGreenLightState(bool state) {
void BoardLight_toggleGreenLightState() { nrf_gpio_pin_toggle(LED_GREEN_PIN); }
LightEffect BoardLight_getGreenLightEffect(){
return m_light_effect;
}
void BoardLight_setGreenLightEffect(LightEffect effect) {
m_light_effect = effect;

1
app/src/board/board_light_ctrl.h

@ -21,3 +21,4 @@ void BoardLight_setGreenLightState(bool state); //
void BoardLight_toggleGreenLightState(); // 使
void BoardLight_setGreenLightEffect(LightEffect effect);
LightEffect BoardLight_getGreenLightEffect();

7051
bin2/app.hex
File diff suppressed because it is too large
View File

BIN
bin2/app3.zip

BIN
bin2/app4.zip

16
bin2/bl_temp.hex

@ -2978,8 +2978,8 @@
:10DA000010D4070018D4070020D4070028D407003A
:10DA1000000000000090D0030000000000000000A3
:0CDA2000754F0700001000000000080017
:10E000006B6EF81302000000010000000100000028
:10E01000000000000000000000E1000099D1B5718F
:10E00000487013CC02000000010000000100000075
:10E01000000000000000000070EB00004D9A1C6D35
:10E0200001000000000000000000000000000000EF
:10E0300000000000000000000000000000000000E0
:10E0400000000000000000000000000000000000D0
@ -3015,12 +3015,12 @@
:10E2200000000000000000000000000000000000EE
:10E2300000000000000000000000000000000000DE
:10E2400000000000000000000000000000000000CE
:10E250000000000000000000000000003A4AA8A8EA
:10E25000000000000000000000000000F6E7DFBD45
:10E2600000000000000000000000000000000000AE
:10E27000000000000000000000000000000000009E
:10E28000000000000000000000000000000000008E
:10E29000000000000000000000000000000000007E
:10E2A000000199D1B57100000000000000000000DD
:10E2A00000014D9A1C6D00000000000000000000FD
:10E2B000000000000000000000000000000000005E
:10E2C000000000000000000000000000000000004E
:10E2D000000000000000000000000000000000003E
@ -3029,8 +3029,8 @@
:10E30000000000000000000000000000000000000D
:10E3100000000000000000000000000000000000FD
:04E32000000000FFFA
:10F000006B6EF81302000000010000000100000018
:10F01000000000000000000000E1000099D1B5717F
:10F00000487013CC02000000010000000100000065
:10F01000000000000000000070EB00004D9A1C6D25
:10F0200001000000000000000000000000000000DF
:10F0300000000000000000000000000000000000D0
:10F0400000000000000000000000000000000000C0
@ -3066,12 +3066,12 @@
:10F2200000000000000000000000000000000000DE
:10F2300000000000000000000000000000000000CE
:10F2400000000000000000000000000000000000BE
:10F250000000000000000000000000003A4AA8A8DA
:10F25000000000000000000000000000F6E7DFBD35
:10F26000000000000000000000000000000000009E
:10F27000000000000000000000000000000000008E
:10F28000000000000000000000000000000000007E
:10F29000000000000000000000000000000000006E
:10F2A000000199D1B57100000000000000000000CD
:10F2A00000014D9A1C6D00000000000000000000ED
:10F2B000000000000000000000000000000000004E
:10F2C000000000000000000000000000000000003E
:10F2D000000000000000000000000000000000002E

16
bin2/settings.hex

@ -1,6 +1,6 @@
:020000040007F3
:10E000006B6EF81302000000010000000100000028
:10E01000000000000000000000E1000099D1B5718F
:10E00000487013CC02000000010000000100000075
:10E01000000000000000000070EB00004D9A1C6D35
:10E0200001000000000000000000000000000000EF
:10E0300000000000000000000000000000000000E0
:10E0400000000000000000000000000000000000D0
@ -36,12 +36,12 @@
:10E2200000000000000000000000000000000000EE
:10E2300000000000000000000000000000000000DE
:10E2400000000000000000000000000000000000CE
:10E250000000000000000000000000003A4AA8A8EA
:10E25000000000000000000000000000F6E7DFBD45
:10E2600000000000000000000000000000000000AE
:10E27000000000000000000000000000000000009E
:10E28000000000000000000000000000000000008E
:10E29000000000000000000000000000000000007E
:10E2A000000199D1B57100000000000000000000DD
:10E2A00000014D9A1C6D00000000000000000000FD
:10E2B000000000000000000000000000000000005E
:10E2C000000000000000000000000000000000004E
:10E2D000000000000000000000000000000000003E
@ -50,8 +50,8 @@
:10E30000000000000000000000000000000000000D
:10E3100000000000000000000000000000000000FD
:04E32000000000FFFA
:10F000006B6EF81302000000010000000100000018
:10F01000000000000000000000E1000099D1B5717F
:10F00000487013CC02000000010000000100000065
:10F01000000000000000000070EB00004D9A1C6D25
:10F0200001000000000000000000000000000000DF
:10F0300000000000000000000000000000000000D0
:10F0400000000000000000000000000000000000C0
@ -87,12 +87,12 @@
:10F2200000000000000000000000000000000000DE
:10F2300000000000000000000000000000000000CE
:10F2400000000000000000000000000000000000BE
:10F250000000000000000000000000003A4AA8A8DA
:10F25000000000000000000000000000F6E7DFBD35
:10F26000000000000000000000000000000000009E
:10F27000000000000000000000000000000000008E
:10F28000000000000000000000000000000000007E
:10F29000000000000000000000000000000000006E
:10F2A000000199D1B57100000000000000000000CD
:10F2A00000014D9A1C6D00000000000000000000ED
:10F2B000000000000000000000000000000000004E
:10F2C000000000000000000000000000000000003E
:10F2D000000000000000000000000000000000002E

7067
bin2/whole.hex
File diff suppressed because it is too large
View File

Loading…
Cancel
Save