// ************************************************************************************************* // @fn sx_rfbsl // @brief This functions starts the RFBSL // @param line LINE1, LINE2 // @return none // ************************************************************************************************* void sx_rfbsl(u8 line) { // Exit if battery voltage is too low for radio operation if (sys.flag.low_battery) return; // Exit if BlueRobin stack is active if (is_bluerobin()) return; // Exit if SimpliciTI stack is active if (is_rf()) return; rfBSL_button_confirmation++; if (rfBSL_button_confirmation == 2) { // Before entering RFBSL clear the LINE1 Symbols display_symbol(LCD_SYMB_AM, SEG_OFF); clear_line(LINE1); // Write RAM to indicate we will be downloading the RAM Updater first display_chars(LCD_SEG_L2_5_0, (u8 *) " RFBSL", SEG_ON); display_chars(LCD_SEG_L1_3_0, (u8 *) " RAM", SEG_ON); // Call RFBSL CALL_RFSBL(); } }
inline void jump_to_rfbsl() { /* clear display memory (useful to know if rfbsl failed) */ LCDBMEMCTL |= LCDCLRBM + LCDCLRM; /* finally jump to the BSL memory address */ CALL_RFSBL(); }
// ************************************************************************************************* // @fn mx_rfbsl // @brief This functions starts the RFBSL // @param line LINE1, LINE2 // @return none // ************************************************************************************************* static void updown_press() { // Write RAM to indicate we will be downloading the RAM Updater first display_chars(0, LCD_SEG_L1_3_0, " RAM", SEG_ON); // Call RFBSL CALL_RFSBL(); }