static msg_t Thread2(void *arg) { (void)arg; while (TRUE) { palClearPort(GPIO1, PAL_PORT_BIT(GPIO1_LED3B) | PAL_PORT_BIT(GPIO1_LED3R) | PAL_PORT_BIT(GPIO1_LED3G)); chThdSleepMilliseconds(250); palClearPort(GPIO1, PAL_PORT_BIT(GPIO1_LED3B) | PAL_PORT_BIT(GPIO1_LED3R) | PAL_PORT_BIT(GPIO1_LED3G)); palSetPort(GPIO1, PAL_PORT_BIT(GPIO1_LED3B)); chThdSleepMilliseconds(250); palClearPort(GPIO1, PAL_PORT_BIT(GPIO1_LED3B) | PAL_PORT_BIT(GPIO1_LED3R) | PAL_PORT_BIT(GPIO1_LED3G)); palSetPort(GPIO1, PAL_PORT_BIT(GPIO1_LED3R)); chThdSleepMilliseconds(250); palClearPort(GPIO1, PAL_PORT_BIT(GPIO1_LED3B) | PAL_PORT_BIT(GPIO1_LED3R) | PAL_PORT_BIT(GPIO1_LED3G)); palSetPort(GPIO1, PAL_PORT_BIT(GPIO1_LED3G)); chThdSleepMilliseconds(250); } return 0; }
static msg_t Thread2(void *arg) { (void)arg; chRegSetThreadName("blinker2"); while (TRUE) { palClearPort(GPIO1, PAL_PORT_BIT(GPIO1_LED3B) | PAL_PORT_BIT(GPIO1_LED3R) | PAL_PORT_BIT(GPIO1_LED3G)); chThdSleepMilliseconds(250); palClearPort(GPIO1, PAL_PORT_BIT(GPIO1_LED3B) | PAL_PORT_BIT(GPIO1_LED3R) | PAL_PORT_BIT(GPIO1_LED3G)); palSetPort(GPIO1, PAL_PORT_BIT(GPIO1_LED3B)); chThdSleepMilliseconds(250); palClearPort(GPIO1, PAL_PORT_BIT(GPIO1_LED3B) | PAL_PORT_BIT(GPIO1_LED3R) | PAL_PORT_BIT(GPIO1_LED3G)); palSetPort(GPIO1, PAL_PORT_BIT(GPIO1_LED3R)); chThdSleepMilliseconds(250); palClearPort(GPIO1, PAL_PORT_BIT(GPIO1_LED3B) | PAL_PORT_BIT(GPIO1_LED3R) | PAL_PORT_BIT(GPIO1_LED3G)); palSetPort(GPIO1, PAL_PORT_BIT(GPIO1_LED3G)); chThdSleepMilliseconds(250); } }
static THD_FUNCTION(Thread1, arg) { (void)arg; chRegSetThreadName("blinker1"); while (TRUE) { palClearPort(IOPORT1, PAL_PORT_BIT(PA_LED2)); chThdSleepMilliseconds(200); palSetPort(IOPORT1, PAL_PORT_BIT(PA_LED1) | PAL_PORT_BIT(PA_LED2)); chThdSleepMilliseconds(800); palClearPort(IOPORT1, PAL_PORT_BIT(PA_LED1)); chThdSleepMilliseconds(200); palSetPort(IOPORT1, PAL_PORT_BIT(PA_LED1) | PAL_PORT_BIT(PA_LED2)); chThdSleepMilliseconds(800); } return 0; }
void usb_lld_connect_bus(USBDriver *usbp) { (void) usbp; palClearPort(USB_GPIO_PORT, (1<<USBDM_BIT) | (1<<USBDP_BIT)); palSetPadMode(USB_GPIO_PORT, USBDM_BIT, PAL_MODE_ALTERNATE(14)); palSetPadMode(USB_GPIO_PORT, USBDP_BIT, PAL_MODE_ALTERNATE(14)); }
void usb_lld_disconnect_bus(USBDriver *usbp) { (void) usbp; palClearPort(USB_GPIO_PORT, (1<<USBDM_BIT) | (1<<USBDP_BIT)); palSetPadMode(USB_GPIO_PORT, USBDM_BIT, PAL_MODE_OUTPUT_PUSHPULL); palSetPadMode(USB_GPIO_PORT, USBDP_BIT, PAL_MODE_OUTPUT_PUSHPULL); }
void usb_lld_disconnect_bus(void *arg) { (void)arg; palSetPadMode(GPIOA, GPIOA_OTG_FS_DM, PAL_MODE_OUTPUT_OPENDRAIN); palSetPadMode(GPIOA, GPIOA_OTG_FS_DP, PAL_MODE_OUTPUT_OPENDRAIN); palClearPort(GPIOA, GPIOA_OTG_FS_DM | GPIOA_OTG_FS_DP); }
int main(void) { IOBUS_DECL(iobus, GPIOD, 16, PAL_PORT_BIT(GPIOD_LED1)); halInit(); chSysInit(); Platform::early_init(); while(1) { chThdSleep(1); palWritePort(GPIOD, PAL_PORT_BIT(GPIOD_LED1)); chThdSleep(1); palClearPort(GPIOD, PAL_PORT_BIT(GPIOD_LED1)); } }
static THD_FUNCTION(Thread1, arg) { (void)arg; chRegSetThreadName("blinker"); while (true) { unsigned i; for (i = 0; i < 4; i++) { palClearPad(PORT_D, PD_LED1); chThdSleepMilliseconds(100); palClearPad(PORT_D, PD_LED2); chThdSleepMilliseconds(100); palClearPad(PORT_D, PD_LED3); chThdSleepMilliseconds(100); palClearPad(PORT_D, PD_LED4); chThdSleepMilliseconds(100); palSetPad(PORT_D, PD_LED1); chThdSleepMilliseconds(100); palSetPad(PORT_D, PD_LED2); chThdSleepMilliseconds(100); palSetPad(PORT_D, PD_LED3); chThdSleepMilliseconds(100); palSetPad(PORT_D, PD_LED4); chThdSleepMilliseconds(300); } for (i = 0; i < 4; i++) { palTogglePort(PORT_D, PAL_PORT_BIT(PD_LED1) | PAL_PORT_BIT(PD_LED2) | PAL_PORT_BIT(PD_LED3) | PAL_PORT_BIT(PD_LED4)); chThdSleepMilliseconds(500); palTogglePort(PORT_D, PAL_PORT_BIT(PD_LED1) | PAL_PORT_BIT(PD_LED2) | PAL_PORT_BIT(PD_LED3) | PAL_PORT_BIT(PD_LED4)); chThdSleepMilliseconds(500); } for (i = 0; i < 4; i++) { palTogglePad(PORT_D, PD_LED1); chThdSleepMilliseconds(250); palTogglePad(PORT_D, PD_LED1); palTogglePad(PORT_D, PD_LED2); chThdSleepMilliseconds(250); palTogglePad(PORT_D, PD_LED2); palTogglePad(PORT_D, PD_LED3); chThdSleepMilliseconds(250); palTogglePad(PORT_D, PD_LED3); palTogglePad(PORT_D, PD_LED4); chThdSleepMilliseconds(250); palTogglePad(PORT_D, PD_LED4); } for (i = 0; i < 4; i++) { palClearPort(PORT_D, PAL_PORT_BIT(PD_LED1) | PAL_PORT_BIT(PD_LED3)); palSetPort(PORT_D, PAL_PORT_BIT(PD_LED2) | PAL_PORT_BIT(PD_LED4)); chThdSleepMilliseconds(500); palClearPort(PORT_D, PAL_PORT_BIT(PD_LED2) | PAL_PORT_BIT(PD_LED4)); palSetPort(PORT_D, PAL_PORT_BIT(PD_LED1) | PAL_PORT_BIT(PD_LED3)); chThdSleepMilliseconds(500); } palSetPort(PORT_D, PAL_PORT_BIT(PD_LED1) | PAL_PORT_BIT(PD_LED2) | PAL_PORT_BIT(PD_LED3) | PAL_PORT_BIT(PD_LED4)); } }
static msg_t Thread1(void *arg) { (void)arg; chRegSetThreadName("blinker"); while (TRUE) { unsigned i; for (i = 0; i < 4; i++) { palClearPad(PORT_D, PD_LED1); chThdSleepMilliseconds(100); palClearPad(PORT_D, PD_LED2); chThdSleepMilliseconds(100); palClearPad(PORT_D, PD_LED3); chThdSleepMilliseconds(100); palClearPad(PORT_D, PD_LED4); chThdSleepMilliseconds(100); palSetPad(PORT_D, PD_LED1); chThdSleepMilliseconds(100); palSetPad(PORT_D, PD_LED2); chThdSleepMilliseconds(100); palSetPad(PORT_D, PD_LED3); chThdSleepMilliseconds(100); palSetPad(PORT_D, PD_LED4); chThdSleepMilliseconds(300); } for (i = 0; i < 4; i++) { palTogglePort(PORT_D, PAL_PORT_BIT(PD_LED1) | PAL_PORT_BIT(PD_LED2) | PAL_PORT_BIT(PD_LED3) | PAL_PORT_BIT(PD_LED4)); chThdSleepMilliseconds(500); palTogglePort(PORT_D, PAL_PORT_BIT(PD_LED1) | PAL_PORT_BIT(PD_LED2) | PAL_PORT_BIT(PD_LED3) | PAL_PORT_BIT(PD_LED4)); chThdSleepMilliseconds(500); } for (i = 0; i < 4; i++) { palTogglePad(PORT_D, PD_LED1); chThdSleepMilliseconds(250); palTogglePad(PORT_D, PD_LED1); palTogglePad(PORT_D, PD_LED2); chThdSleepMilliseconds(250); palTogglePad(PORT_D, PD_LED2); palTogglePad(PORT_D, PD_LED3); chThdSleepMilliseconds(250); palTogglePad(PORT_D, PD_LED3); palTogglePad(PORT_D, PD_LED4); chThdSleepMilliseconds(250); palTogglePad(PORT_D, PD_LED4); } for (i = 0; i < 4; i++) { palClearPort(PORT_D, PAL_PORT_BIT(PD_LED1) | PAL_PORT_BIT(PD_LED3)); palSetPort(PORT_D, PAL_PORT_BIT(PD_LED2) | PAL_PORT_BIT(PD_LED4)); chThdSleepMilliseconds(500); palClearPort(PORT_D, PAL_PORT_BIT(PD_LED2) | PAL_PORT_BIT(PD_LED4)); palSetPort(PORT_D, PAL_PORT_BIT(PD_LED1) | PAL_PORT_BIT(PD_LED3)); chThdSleepMilliseconds(500); } palSetPort(PORT_D, PAL_PORT_BIT(PD_LED1) | PAL_PORT_BIT(PD_LED2) | PAL_PORT_BIT(PD_LED3) | PAL_PORT_BIT(PD_LED4)); } return 0; }
static THD_FUNCTION(Thread1, arg) { (void)arg; /* * Activates the serial driver 1 using the driver default configuration. */ sdStart(&SD1, NULL); while (true) { unsigned i; for (i = 0; i < 4; i++) { palClearPad(PORT_E, PE_LED1); chThdSleepMilliseconds(100); palClearPad(PORT_E, PE_LED2); chThdSleepMilliseconds(100); palClearPad(PORT_E, PE_LED3); chThdSleepMilliseconds(100); palClearPad(PORT_E, PE_LED4); chThdSleepMilliseconds(100); palSetPad(PORT_E, PE_LED1); chThdSleepMilliseconds(100); palSetPad(PORT_E, PE_LED2); chThdSleepMilliseconds(100); palSetPad(PORT_E, PE_LED3); chThdSleepMilliseconds(100); palSetPad(PORT_E, PE_LED4); chThdSleepMilliseconds(300); } for (i = 0; i < 4; i++) { palTogglePort(PORT_E, PAL_PORT_BIT(PE_LED1) | PAL_PORT_BIT(PE_LED2) | PAL_PORT_BIT(PE_LED3) | PAL_PORT_BIT(PE_LED4)); chThdSleepMilliseconds(500); palTogglePort(PORT_E, PAL_PORT_BIT(PE_LED1) | PAL_PORT_BIT(PE_LED2) | PAL_PORT_BIT(PE_LED3) | PAL_PORT_BIT(PE_LED4)); chThdSleepMilliseconds(500); } for (i = 0; i < 4; i++) { palTogglePad(PORT_E, PE_LED1); chThdSleepMilliseconds(250); palTogglePad(PORT_E, PE_LED1); palTogglePad(PORT_E, PE_LED2); chThdSleepMilliseconds(250); palTogglePad(PORT_E, PE_LED2); palTogglePad(PORT_E, PE_LED3); chThdSleepMilliseconds(250); palTogglePad(PORT_E, PE_LED3); palTogglePad(PORT_E, PE_LED4); chThdSleepMilliseconds(250); palTogglePad(PORT_E, PE_LED4); } for (i = 0; i < 4; i++) { palClearPort(PORT_E, PAL_PORT_BIT(PE_LED1) | PAL_PORT_BIT(PE_LED3)); palSetPort(PORT_E, PAL_PORT_BIT(PE_LED2) | PAL_PORT_BIT(PE_LED4)); chThdSleepMilliseconds(500); palClearPort(PORT_E, PAL_PORT_BIT(PE_LED2) | PAL_PORT_BIT(PE_LED4)); palSetPort(PORT_E, PAL_PORT_BIT(PE_LED1) | PAL_PORT_BIT(PE_LED3)); chThdSleepMilliseconds(500); } palSetPort(PORT_E, PAL_PORT_BIT(PE_LED1) | PAL_PORT_BIT(PE_LED2) | PAL_PORT_BIT(PE_LED3) | PAL_PORT_BIT(PE_LED4)); } }
static THD_FUNCTION(Thread1, arg) { (void)arg; /* * Activates the serial driver 1 using the driver default configuration. */ sdStart(&SD1, NULL); while (TRUE) { unsigned i; chnWriteTimeout(&SD1, (uint8_t *)"Hello World!\r\n", 14, TIME_INFINITE); for (i = 0; i < 4; i++) { palClearPad(PORT_E, PE_LED1); chThdSleepMilliseconds(100); palClearPad(PORT_E, PE_LED2); chThdSleepMilliseconds(100); palClearPad(PORT_E, PE_LED3); chThdSleepMilliseconds(100); palClearPad(PORT_E, PE_LED4); chThdSleepMilliseconds(100); palSetPad(PORT_E, PE_LED1); chThdSleepMilliseconds(100); palSetPad(PORT_E, PE_LED2); chThdSleepMilliseconds(100); palSetPad(PORT_E, PE_LED3); chThdSleepMilliseconds(100); palSetPad(PORT_E, PE_LED4); chThdSleepMilliseconds(300); } for (i = 0; i < 4; i++) { palTogglePort(PORT_E, PAL_PORT_BIT(PE_LED1) | PAL_PORT_BIT(PE_LED2) | PAL_PORT_BIT(PE_LED3) | PAL_PORT_BIT(PE_LED4)); chThdSleepMilliseconds(500); palTogglePort(PORT_E, PAL_PORT_BIT(PE_LED1) | PAL_PORT_BIT(PE_LED2) | PAL_PORT_BIT(PE_LED3) | PAL_PORT_BIT(PE_LED4)); chThdSleepMilliseconds(500); } for (i = 0; i < 4; i++) { palTogglePad(PORT_E, PE_LED1); chThdSleepMilliseconds(250); palTogglePad(PORT_E, PE_LED1); palTogglePad(PORT_E, PE_LED2); chThdSleepMilliseconds(250); palTogglePad(PORT_E, PE_LED2); palTogglePad(PORT_E, PE_LED3); chThdSleepMilliseconds(250); palTogglePad(PORT_E, PE_LED3); palTogglePad(PORT_E, PE_LED4); chThdSleepMilliseconds(250); palTogglePad(PORT_E, PE_LED4); } for (i = 0; i < 4; i++) { palClearPort(PORT_E, PAL_PORT_BIT(PE_LED1) | PAL_PORT_BIT(PE_LED3)); palSetPort(PORT_E, PAL_PORT_BIT(PE_LED2) | PAL_PORT_BIT(PE_LED4)); chThdSleepMilliseconds(500); palClearPort(PORT_E, PAL_PORT_BIT(PE_LED2) | PAL_PORT_BIT(PE_LED4)); palSetPort(PORT_E, PAL_PORT_BIT(PE_LED1) | PAL_PORT_BIT(PE_LED3)); chThdSleepMilliseconds(500); } palSetPort(PORT_E, PAL_PORT_BIT(PE_LED1) | PAL_PORT_BIT(PE_LED2) | PAL_PORT_BIT(PE_LED3) | PAL_PORT_BIT(PE_LED4)); } }