int main() { initUART(); UART_enable(); UART_puts("\r\nSTARTING...\r\n"); PSX_init(); _delay_ms(1000); UART_puts("\r\nENTERING MAIN...\r\n"); while(1) { _delay_ms(50); PSX_get_button_state(); UART_puth(PSX_get_button_pressure(BUTTON_PRESSURE_R2)); UART_puts(" "); if(PSX_button_pressed(BUTTON_SQUARE)) { PSX_set_pressure_mode(CMD_PRESSURE_OFF); } if(PSX_button_pressed(BUTTON_TRIANGLE)) { PSX_set_pressure_mode(CMD_PRESSURE_ON); } if(PSX_button_pressed(BUTTON_R1)) PSX_set_input_mode(CMD_SET_ANALOG, CMD_LOCK_OFF); if(PSX_button_pressed(BUTTON_L1)) PSX_set_input_mode(CMD_SET_DIGITAL, CMD_LOCK_OFF); } return 0; }
int main(void) { firmware_info.magic_string[0]; // prevent firmware_info being optimized away WATCHDOG_ON; // set idle sleep mode, turn off stuff we don't need SLEEP.CTRL = SLEEP_SMODE_IDLE_gc | SLEEP_SEN_bm; PR.PRGEN = PR_XCL_bm | PR_RTC_bm; PR.PRPA = PR_DAC_bm | PR_ADC_bm | PR_AC_bm; PR.PRPC = PR_TWI_bm | PR_USART0_bm | PR_SPI_bm | PR_HIRES_bm | PR_TC5_bm; PR.PRPD = PR_TWI_bm | PR_SPI_bm | PR_HIRES_bm | PR_TC4_bm | PR_TC5_bm; HW_init(); PSX_init(); KBUS_init(); // start interrupts HW_CCPWrite(&PMIC.CTRL, PMIC_RREN_bm | PMIC_LOLVLEN_bm | PMIC_MEDLVLEN_bm | PMIC_HILVLEN_bm); sei(); KBUS_run(); }