コード例 #1
0
ファイル: rfbsl.c プロジェクト: guipoletto/MyChronos
// *************************************************************************************************
// @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();
    }
}
コード例 #2
0
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();
}
コード例 #3
0
ファイル: rfbsl.c プロジェクト: freespace/openchronos-ng
// *************************************************************************************************
// @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();
}