diff --git a/app/main.c b/app/main.c index cf389ce..f5147ec 100644 --- a/app/main.c +++ b/app/main.c @@ -97,7 +97,7 @@ void main() { /******************************************************************************* * 屏幕测试+LED测试 * *******************************************************************************/ -#if 0 +#if 1 static void test_tx_timer_cb(void* p_context) { static uint32_t data; data++; @@ -110,7 +110,7 @@ static void test_tx_timer_cb(void* p_context) { extern uint32_t g_nrf_log_tx_pin; APP_TIMER_DEF(m_test_tx_timer); -void main() { +int main() { APP_SCHED_INIT(APP_TIMER_SCHED_EVENT_DATA_SIZE, 20); znordic_init(); @@ -120,10 +120,19 @@ void main() { SingleLeadECG_screen_init(); ssd1306_basic_init(SSD1306_INTERFACE_SPI, SSD1306_ADDR_SA0_0); ssd1306_basic_display_on(); - ssd1306_basic_string(0, 0, "123456789123456789123", 21, 0, SSD1306_FONT_12); - ssd1306_basic_string(0, 16, "123456789123456789123", 21, 0, SSD1306_FONT_12); - ssd1306_basic_string(0, 32, "123456789123456789123", 21, 0, SSD1306_FONT_12); - ssd1306_basic_string(0, 48, "123456789123456789123", 21, 0, SSD1306_FONT_12); + // ssd1306_basic_string(0, 0, "123456789123456789123", 21, 0, SSD1306_FONT_12); + // ssd1306_basic_string(0, 16, "123456789123456789123", 21, 0, SSD1306_FONT_12); + // ssd1306_basic_string(0, 32, "123456789123456789123", 21, 0, SSD1306_FONT_12); + // ssd1306_basic_string(0, 48, "123456789123456789123", 21, 0, SSD1306_FONT_12); + + for (size_t i = 0; i < 127; i++) { + for (size_t j = 0; j < 64; j++) + { + ssd1306_basic_write_point(i, j, 1); + } + } + // ssd1306_gram_update(ssd1306_handler()); + SingleLeadECG_led_init(); @@ -372,6 +381,7 @@ static void test_tx_timer_cb(void* p_context) { ThreeLeadECG_ads1293_sample_all(&sample0, &sample1, &sample2, &sample10, &sample11, &sample12); zdatachanel_send_log("%d,%d,%d,%d,%d,%d\n", sample0, sample1, sample2, sample10, sample11, sample12); + // zdatachanel_send_log("%d,%d\n", sample0, sample1); // zdatachanel_send_log("%d,%d,%d\n", data, data, data); // zdatachanel_send_log("%d %d %s\n", ThreeLeadECG_ready_pin_state_get(), ThreeLeadECG_LineInputDet_get_state(), dumplodstate(val)); @@ -389,38 +399,7 @@ static const char* hex2str(const uint8_t* data, int32_t len) { return rx; } -// void cmd_remove_note(char* input, int inputlen) { -// bool detect_note = false; -// for (int i = 0; i < inputlen; i++) { -// if (!detect_note && input[i] == '#') { -// detect_note = true; -// } -// if (detect_note) { -// input[i] = 0; -// } -// } -// } -// void cmd_prase_cmd(char* input, int inputlen, int32_t* argc, char* argv[]) { -// for (int i = 0; input[i] == 0 || i < inputlen; i++) { -// if (input[i] == ' ' || input[i] == '\r' || input[i] == '\n') { -// input[i] = 0; -// } -// } -// int j = 0; -// for (int i = 0; input[i] == 0 || i < inputlen; i++) { -// if (input[i] != 0 && j == 0) { -// argv[*argc] = &input[i]; -// j = 1; -// *argc = *argc + 1; -// continue; -// } - -// if (input[i] == 0 && j == 1) { -// j = 0; -// continue; -// } -// } -// } + char cmdcache[256] = {0}; static void zdatachannel_data_handler(zdatachannel_evt_t* p_evt) { /** diff --git a/app/src/basic/ssd1306/driver_ssd1306.c b/app/src/basic/ssd1306/driver_ssd1306.c index ba864fc..d0c1003 100644 --- a/app/src/basic/ssd1306/driver_ssd1306.c +++ b/app/src/basic/ssd1306/driver_ssd1306.c @@ -426,6 +426,7 @@ uint8_t ssd1306_gram_update(ssd1306_handle_t *handle) } for (n = 0; n < 128; n++) /* write 128 */ { + // handle->delay_ms(100); if (a_ssd1306_write_byte(handle, handle->gram[n][i], SSD1306_DATA) != 0) /* write data */ { handle->debug_print("ssd1306: write byte failed.\n"); /* write byte failed */ @@ -484,6 +485,7 @@ uint8_t ssd1306_write_point(ssd1306_handle_t *handle, uint8_t x, uint8_t y, uint { handle->gram[x][pos] &= ~temp; /* set 0 */ } + #if 1 if (a_ssd1306_write_byte(handle, SSD1306_CMD_PAGE_ADDR + pos, SSD1306_CMD) != 0) /* write page addr */ { handle->debug_print("ssd1306: write byte failed.\n"); /* write byte failed */ @@ -496,10 +498,9 @@ uint8_t ssd1306_write_point(ssd1306_handle_t *handle, uint8_t x, uint8_t y, uint return 1; /* return error */ } - if (a_ssd1306_write_byte(handle, SSD1306_CMD_HIGHER_COLUMN_START_ADDRESS|((x>4)&0x0F), SSD1306_CMD) != 0) /* write higher column */ + if (a_ssd1306_write_byte(handle, SSD1306_CMD_HIGHER_COLUMN_START_ADDRESS|((x>>4)&0x0F), SSD1306_CMD) != 0) /* write higher column */ { handle->debug_print("ssd1306: write byte failed.\n"); /* write byte failed */ - return 1; /* return error */ } if (a_ssd1306_write_byte(handle, handle->gram[x][pos], SSD1306_DATA) != 0) /* write data */ @@ -512,6 +513,8 @@ uint8_t ssd1306_write_point(ssd1306_handle_t *handle, uint8_t x, uint8_t y, uint { return 0; /* success return 0 */ } + #endif + return 0; } /** diff --git a/app/src/basic/ssd1306/driver_ssd1306_basic.c b/app/src/basic/ssd1306/driver_ssd1306_basic.c index 79806e7..46e05aa 100644 --- a/app/src/basic/ssd1306/driver_ssd1306_basic.c +++ b/app/src/basic/ssd1306/driver_ssd1306_basic.c @@ -448,6 +448,9 @@ uint8_t ssd1306_basic_write_point(uint8_t x, uint8_t y, uint8_t data) return 0; } +ssd1306_handle_t* ssd1306_handler(){ + return &gs_handle; +} /** * @brief basic example read a point diff --git a/app/src/basic/ssd1306/driver_ssd1306_basic.h b/app/src/basic/ssd1306/driver_ssd1306_basic.h index 0480830..fdb6821 100644 --- a/app/src/basic/ssd1306/driver_ssd1306_basic.h +++ b/app/src/basic/ssd1306/driver_ssd1306_basic.h @@ -64,9 +64,12 @@ extern "C"{ #define SSD1306_BASIC_DEFAULT_DISPLAY_OFFSET 0x00 /**< set display offset */ #define SSD1306_BASIC_DEFAULT_MULTIPLEX_RATIO 0x3F /**< set ratio */ #define SSD1306_BASIC_DEFAULT_DISPLAY_MODE SSD1306_DISPLAY_MODE_NORMAL /**< set normal mode */ -#define SSD1306_BASIC_DEFAULT_SCAN_DIRECTION SSD1306_SCAN_DIRECTION_COMN_1_START /**< set scan 1 */ -#define SSD1306_BASIC_DEFAULT_SEGMENT SSD1306_SEGMENT_COLUMN_ADDRESS_127 /**< set column 127 */ -#define SSD1306_BASIC_DEFAULT_CONTRAST 0xCF /**< set contrast CF */ +#define SSD1306_BASIC_DEFAULT_SCAN_DIRECTION SSD1306_SCAN_DIRECTION_COMN_1_START /**< 字的方向不对修改这里 */ +// #define SSD1306_BASIC_DEFAULT_SCAN_DIRECTION SSD1306_SCAN_DIRECTION_COM0_START /**< 字的方向不对修改这里 */ +#define SSD1306_BASIC_DEFAULT_SEGMENT SSD1306_SEGMENT_COLUMN_ADDRESS_0 /**< 字的方向不对修改这里 */ +// #define SSD1306_BASIC_DEFAULT_SEGMENT SSD1306_SEGMENT_COLUMN_ADDRESS_127 /**< 字的方向不对修改这里 */ +// #define SSD1306_BASIC_DEFAULT_CONTRAST 0xCF /**< set contrast CF */ +#define SSD1306_BASIC_DEFAULT_CONTRAST 0x05 /**< set contrast CF */ #define SSD1306_BASIC_DEFAULT_ZOOM_IN SSD1306_ZOOM_IN_DISABLE /**< disable zoom in */ #define SSD1306_BASIC_DEFAULT_FADE_BLINKING_MODE SSD1306_FADE_BLINKING_MODE_DISABLE /**< disable fade */ #define SSD1306_BASIC_DEFAULT_FADE_FRAMES 0x00 /**< set frame 0 */ @@ -137,6 +140,8 @@ uint8_t ssd1306_basic_clear(void); */ uint8_t ssd1306_basic_write_point(uint8_t x, uint8_t y, uint8_t data); + + /** * @brief basic example read a point * @param[in] x is the coordinate x @@ -191,6 +196,10 @@ uint8_t ssd1306_basic_rect(uint8_t left, uint8_t top, uint8_t right, uint8_t bot * @note none */ uint8_t ssd1306_basic_picture(uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint8_t *img); +ssd1306_handle_t* ssd1306_handler(); + + +uint8_t ssd1306_basic_line(uint8_t x, uint8_t y, uint8_t data); /** * @} diff --git a/app/src/three_lead/ads_cfg.h b/app/src/three_lead/ads_cfg.h index 1ca8e33..2d97f6e 100644 --- a/app/src/three_lead/ads_cfg.h +++ b/app/src/three_lead/ads_cfg.h @@ -9,23 +9,23 @@ typedef struct { static adscfg_t ads0cfg[] = { {0x00, 0x00}, // {0x01, 0x0a}, // - {0x02, 0x1c}, // + {0x02, 0x1a}, // {0x03, 0x00}, // {0x04, 0x00}, // {0x05, 0x00}, // - {0x06, 0x02}, // + {0x06, 0x04}, // {0x07, 0x0f}, // - {0x08, 0x13}, // - {0x09, 0x01}, // - {0x0a, 0x0f}, // + {0x08, 0xff}, // + {0x09, 0x00}, // + {0x0a, 0x07}, // {0x0b, 0x00}, // {0x0c, 0x04}, // - {0x0d, 0x01}, // - {0x0e, 0x02}, // - {0x0f, 0x03}, // + {0x0d, 0x00}, // + {0x0e, 0x00}, // + {0x0f, 0x00}, // {0x10, 0x00}, // {0x11, 0x00}, // - {0x12, 0x05}, // + {0x12, 0x04}, // {0x13, 0x00}, // {0x14, 0x00}, // {0x15, 0x00}, // @@ -44,7 +44,7 @@ static adscfg_t ads0cfg[] = { {0x25, 0x00}, // {0x26, 0x00}, // {0x27, 0x08}, // - {0x28, 0x08}, // + {0x28, 0x00}, // {0x29, 0x00}, // {0x2a, 0x00}, // {0x2b, 0x00}, // @@ -72,7 +72,6 @@ static adscfg_t ads0cfg[] = { {0x50, 0x00}, // {0x60, 0x00}, // {0x62, 0x00}, // - }; static adscfg_t ads1cfg[] = {