Browse Source

update

3lead_uart_test_ok_version
zhaohe 1 year ago
parent
commit
322d2b7f3b
  1. 82
      app/src/one_conduction/display_manager.c
  2. 5
      app/src/one_conduction/display_manager.h
  3. 49
      app/src/one_conduction/one_conduction_main.c

82
app/src/one_conduction/display_manager.c

@ -31,35 +31,8 @@ PageState_t* dsp_mgr_get_state(void) { return NULL; }
int compute_x_pos_by_center(int16_t x, int16_t width) { return x - width / 2; } int compute_x_pos_by_center(int16_t x, int16_t width) { return x - width / 2; }
int compute_y_pos_by_center(int16_t y, int16_t height) { return y - height / 2; } int compute_y_pos_by_center(int16_t y, int16_t height) { return y - height / 2; }
void dsp_mgr_change_to_preparePage() {
ssd1306_basic_clear();
uint8_t x = 0;
uint8_t y = 0;
uint8_t xchange, ychange;
// ssd1306_basic_draw_str(&x, &y, "123", &fontclocklib);
ssd1306_basic_draw_str(x, y, &xchange, &ychange, "ooox", &font8x8_xo_lib);
y = y + font8x8_xo_lib.heightPixel;
x = x + font8x8_xo_lib.widthPixel;
ssd1306_basic_draw_str(x, y, &xchange, &ychange, "±£³Ö¾²Ö¹", &font24x24_zh_lib);
ssd1306_basic_gram_update();
dsp_mgr_change_to_page(kPage_preparePage);
}
static wave_drawer_t wave_drawer; static wave_drawer_t wave_drawer;
void dsp_mgr_change_to_sampling() { //
wave_drawer_init(&wave_drawer, 1, 1, 120, 40);
wave_drawer_draw_border(&wave_drawer);
uint8_t xchange, ychange;
ssd1306_basic_draw_progress(1, 47, 80, 8, 50, 30);
ssd1306_basic_draw_str(82, 43, &xchange, &ychange, "<>123", &font_asicc16x8_lib);
ssd1306_basic_gram_update();
}
void dsp_mgr_draw_point(int16_t y) { void dsp_mgr_draw_point(int16_t y) {
wave_drawer_draw_next_point(&wave_drawer, y); wave_drawer_draw_next_point(&wave_drawer, y);
ssd1306_basic_gram_update(); ssd1306_basic_gram_update();
@ -231,6 +204,61 @@ void mainPage_show(bool colon_state) {
void dsp_mgr_change_to_main() { mainPage_show(true); } void dsp_mgr_change_to_main() { mainPage_show(true); }
void mainPage_updateState() { mainPage_show(!m_main_page_colon_state); } void mainPage_updateState() { mainPage_show(!m_main_page_colon_state); }
/*******************************************************************************
* ±£³Ö¾²Ö¹Ò³Ãæ *
*******************************************************************************/
static int m_prepare_page_progress = 0;
void PreparePage_show(int progress) {
m_prepare_page_progress = progress;
ssd1306_basic_clear_gram();
uint8_t x = 0;
uint8_t y = 0;
uint8_t xchange, ychange;
x = compute_x_pos_by_center(SCREEN_CENTER_X, font24x24_zh_lib.widthPixel * 4);
y = compute_y_pos_by_center(SCREEN_CENTER_Y, font24x24_zh_lib.heightPixel);
ssd1306_basic_draw_str(x, y, &xchange, &ychange, "±£³Ö¾²Ö¹", &font24x24_zh_lib);
if (progress == 0) {
ssd1306_basic_draw_str(x - font8x8_xo_lib.widthPixel, y - font8x8_xo_lib.heightPixel, &xchange, &ychange, "xxxx", &font8x8_xo_lib);
} else if (progress == 1) {
ssd1306_basic_draw_str(x - font8x8_xo_lib.widthPixel, y - font8x8_xo_lib.heightPixel, &xchange, &ychange, "oxxx", &font8x8_xo_lib);
} else if (progress == 2) {
ssd1306_basic_draw_str(x - font8x8_xo_lib.widthPixel, y - font8x8_xo_lib.heightPixel, &xchange, &ychange, "ooxx", &font8x8_xo_lib);
} else if (progress == 3) {
ssd1306_basic_draw_str(x - font8x8_xo_lib.widthPixel, y - font8x8_xo_lib.heightPixel, &xchange, &ychange, "ooox", &font8x8_xo_lib);
} else if (progress == 4) {
ssd1306_basic_draw_str(x - font8x8_xo_lib.widthPixel, y - font8x8_xo_lib.heightPixel, &xchange, &ychange, "oooo", &font8x8_xo_lib);
}
ssd1306_basic_gram_update();
}
void dsp_mgr_change_to_preparePage() {
PreparePage_show(0);
dsp_mgr_change_to_page(kPage_preparePage);
}
void dsp_mgr_preparePage_set_progress(int progress) { PreparePage_show(progress); }
int dsp_mgr_preparePage_get_progress() { return m_prepare_page_progress; }
void PreparePage_schedule() {}
/*******************************************************************************
* ²ÉÑùÒ³Ãæ *
*******************************************************************************/
void dsp_mgr_change_to_sampling() { //
wave_drawer_init(&wave_drawer, 1, 1, 120, 40);
wave_drawer_draw_border(&wave_drawer);
uint8_t xchange, ychange;
ssd1306_basic_draw_progress(1, 47, 80, 8, 50, 30);
ssd1306_basic_draw_str(82, 43, &xchange, &ychange, "<>123", &font_asicc16x8_lib);
ssd1306_basic_gram_update();
}
void mainPage_schedule() { void mainPage_schedule() {
static uint32_t last_update_time = 0; static uint32_t last_update_time = 0;
if (znordic_haspassed_ms(last_update_time) < 300) { if (znordic_haspassed_ms(last_update_time) < 300) {

5
app/src/one_conduction/display_manager.h

@ -59,7 +59,6 @@ void dsp_mgr_init(void);
void dsp_mgr_uninit(void); void dsp_mgr_uninit(void);
void dsp_mgr_schedule(void); void dsp_mgr_schedule(void);
PageState_t* dsp_mgr_get_state(void); PageState_t* dsp_mgr_get_state(void);
uint32_t dsp_mgr_get_page_elapsed_time_s(void); uint32_t dsp_mgr_get_page_elapsed_time_s(void);
@ -69,7 +68,11 @@ void dsp_mgr_change_to_poweroff();
void dsp_mgr_change_to_welcome(); void dsp_mgr_change_to_welcome();
void dsp_mgr_change_to_main(); void dsp_mgr_change_to_main();
void dsp_mgr_change_to_chargingPage(); void dsp_mgr_change_to_chargingPage();
void dsp_mgr_change_to_preparePage(); void dsp_mgr_change_to_preparePage();
void dsp_mgr_preparePage_set_progress(int progress);
int dsp_mgr_preparePage_get_progress();
void dsp_mgr_change_to_sampling(); void dsp_mgr_change_to_sampling();
void dsp_mgr_change_to_samplingError(); void dsp_mgr_change_to_samplingError();
void dsp_mgr_change_to_storaging(); void dsp_mgr_change_to_storaging();

49
app/src/one_conduction/one_conduction_main.c

@ -13,6 +13,7 @@ typedef enum {
kplod_connecting_event, // kplod_connecting_event, //
kplod_start_charge_event, // kplod_start_charge_event, //
kplod_charging_event, //
kplod_end_charge_event, // kplod_end_charge_event, //
kevent_tmr_scheduler_event, // kevent_tmr_scheduler_event, //
@ -148,6 +149,9 @@ static void m_charge_event_detect_tmr_cb(void* p_context) { //
appevent.eventType = kplod_start_charge_event; appevent.eventType = kplod_start_charge_event;
ischarging = true; ischarging = true;
app_sched_event_put(&appevent, sizeof(appevent), app_event_process_cb); app_sched_event_put(&appevent, sizeof(appevent), app_event_process_cb);
} else {
appevent.eventType = kplod_charging_event;
app_sched_event_put(&appevent, sizeof(appevent), app_event_process_cb);
} }
} else { } else {
if (ischarging) { if (ischarging) {
@ -245,6 +249,11 @@ static void state_machine__change_to_home_state() {
dsp_mgr_change_to_main(); dsp_mgr_change_to_main();
} }
static void state_machine__change_to_sampling_state() {
state_machine_change_to_state(kdevice_state_sampling);
dsp_mgr_change_to_sampling();
}
static void app_event_process_cb(void* p_event_data, uint16_t event_size) { static void app_event_process_cb(void* p_event_data, uint16_t event_size) {
if (!p_event_data) return; if (!p_event_data) return;
app_event_t* p_event = (app_event_t*)p_event_data; app_event_t* p_event = (app_event_t*)p_event_data;
@ -281,9 +290,47 @@ static void app_event_process_cb(void* p_event_data, uint16_t event_size) {
/******************************************************************************* /*******************************************************************************
* * * *
*******************************************************************************/ *******************************************************************************/
if (!m_plod_state_connected_state && plod_state_has_disconnected_ms() >= 3000) {
//
if (!m_plod_state_connected_state && plod_state_has_disconnected_ms() >= 3000 && cur_state_haspassed_ms() >= 3000) {
state_machine__change_to_standby_state(); state_machine__change_to_standby_state();
} }
//
else if (m_plod_state_connected_state && cur_state_haspassed_ms() > 1500) {
// dsp_mgr_change_to_preparePage
state_machine_change_to_state(kdevice_state_keep_still);
dsp_mgr_change_to_preparePage();
}
} else if (m_device_state == kdevice_state_keep_still) {
/*******************************************************************************
* *
*******************************************************************************/
if (!m_plod_state_connected_state) {
//
state_machine__change_to_home_state();
} else {
/*******************************************************************************
* *
*******************************************************************************/
if (cur_state_haspassed_ms() >= (500 * 5)) {
// state_machine__change_to_sampling_state();
} else if (cur_state_haspassed_ms() >= (500 * 4)) {
if (dsp_mgr_preparePage_get_progress() != 4) {
dsp_mgr_preparePage_set_progress(4);
}
} else if (cur_state_haspassed_ms() >= (500 * 3)) {
if (dsp_mgr_preparePage_get_progress() != 3) {
dsp_mgr_preparePage_set_progress(3);
}
} else if (cur_state_haspassed_ms() >= (500 * 2)) {
if (dsp_mgr_preparePage_get_progress() != 2) {
dsp_mgr_preparePage_set_progress(2);
}
} else if (cur_state_haspassed_ms() >= (500 * 1)) {
if (dsp_mgr_preparePage_get_progress() != 1) {
dsp_mgr_preparePage_set_progress(1);
}
}
}
} }
#if 0 #if 0

Loading…
Cancel
Save