/*----------------------------------------------------------------------------*/ void button_testing(void) { start_waiting_esc_character(); HA_NOTIFY("\n*** BUTTON & MBOARD TEST ***\n" "(press ESC to quit).\n"); while(1) { if(is_press_button(MB1_up.gpio_read())) { testing_delay_us(10000); while(is_press_button(MB1_up.gpio_read())); HA_NOTIFY("Press button UP.\n"); } if(is_press_button(MB1_down.gpio_read())) { testing_delay_us(10000); while(is_press_button(MB1_down.gpio_read())); HA_NOTIFY("Press button DOWN.\n"); } if(is_press_button(MB1_left.gpio_read())) { testing_delay_us(10000); while(is_press_button(MB1_left.gpio_read())); HA_NOTIFY("Press button LEFT.\n"); } if(is_press_button(MB1_right.gpio_read())) { testing_delay_us(10000); while(is_press_button(MB1_right.gpio_read())); HA_NOTIFY("Press button RIGHT.\n"); } if(is_press_button(MB1_select.gpio_read())) { testing_delay_us(10000); while(is_press_button(MB1_select.gpio_read())); HA_NOTIFY("Press button SELECT.\n"); } /* poll the esc_pressed */ if (esc_pressed == true) { break; } }//End while(). stop_waiting_esc_character(); HA_NOTIFY("Test stopped.\n"); }
/*----------------------------------------------------------------------------*/ static void sim900_testing_init(void) { HA_NOTIFY("\nInitializing hardware for sim900 tests\n" "USART: %u, Baudrate: %lu\n" "RI pin: port: %u (port A = 0,...), pin: %u\n", uart_num, baudrate, RI_params.port, RI_params.pin); /* Initialize UART */ MB1_usart.Restart(baudrate); MB1_usart.it_enable(0,1); MB1_usart.it_config(USART_IT_RXNE, ENABLE); MB1_int.subISR_assign(MB1_int_type, usart3_irq); /* Init RI pin */ RI_pin.gpio_init(&RI_params); HA_NOTIFY("\nRI: %d (should be 1)\n", RI_pin.gpio_read()); /* Create ring buffer */ rb_init(&rx_buffer, 128); }
static void sim900_gsm_test(void) { uint8_t state = 0, data, ri = 0; start_waiting_esc_character(); HA_NOTIFY("\nTEST #2: GSM TEST\n" "This test calls *101# to check money account\n" "(Press ESC to continue)\n"); while (esc_pressed == false); stop_waiting_esc_character(); /* Clear buffer brfore testing */ rb_clear(&rx_buffer); HA_NOTIFY("\nCalling *101# ... \n"); /* Call *101# */ MB1_usart.Print("ATD*101#;\r"); start_waiting_esc_character(); while(1) { /* Receiving message */ if (rb_get_data(&rx_buffer,&data,1) > 0) { switch (state) { /* Print content between two " " */ case 0: if (data == '"') { state = 1; HA_NOTIFY("\nReceived Message: \n"); /*check RI pin*/ if (RI_pin.gpio_read() == 0) ri = 1; } break; case 1: if (data == '"') { state = 2; HA_NOTIFY("\n"); } else { HA_NOTIFY("%c", (char)data); } break; /* End of message */ case 2: if (data == '\r') { state = 3; HA_NOTIFY("\nSuccessful !\n"); } break; } } if (esc_pressed == true) { break; } } stop_waiting_esc_character(); /* Fail to receive message */ if (state != 3) { HA_NOTIFY("\nFail\n"); } else { if (ri == 1) { HA_NOTIFY("\nRI pin works\n"); } else { HA_NOTIFY("\nRI pin does not work\n"); } } }