int main(void) { Init(); InitLeds(); CommandQueue queue; InitCommandQueue(&queue); InitUartCommandProcessor(&queue); InitControllerDriver(&queue); //char c; while(1) { /*if (UARTAvail() != 0) { UARTRead(&c, 1); UARTWrite(&c, 1); }*/ CommandProcessorPoll(); /*if (controller_driver_state == WAITING) { LedOn(3); LedOff(4); } else if (controller_driver_state == RECEIVE_CODEWORD) { LedOff(3); LedOn(4); } else { LedOff(3); LedOff(4); } if (GPIOC_PDIR & 1 << 6) { LedOn(5); } else { LedOff(5); }*/ } return 0; }
int main() { InitLeds(); InstallInterruptHandlers(); Phaser(); return 0; }
/* * ステータスバーの生成 */ void CreateStatus(AG_Widget *parent) { AG_Rect rec; AG_Surface *tmps; AG_PixelFormat fmt; int i; r.r = 255; // r->g r.g = 0; // g->b r.b = 0; // b->r r.a = 255; // a->a b.r = 0; b.g = 0; b.b = 255; b.a = 255; n.r = 255; n.g = 255; n.b = 255; n.a = 255; black.r = 0; black.g = 0; black.b = 0; black.a = 255; // // アルファチャンネル alpha.r = 1; alpha.g = 1; alpha.b = 1; alpha.a = 180; // // Surfaceつくる SetPixelFormat(&fmt); pStatusFont = AG_FetchFont (StatusFont, STAT_PT, 0); // Init Var nFontSize = STAT_PT; if(parent) { AG_VBox *vb; AG_HBox *hb; { hb = (AG_HBox *)parent; InitStatOSD(AGWIDGET(hb)); InitVFD(AGWIDGET(hb)); InitTapeOSD(AGWIDGET(hb)); InitLeds(AGWIDGET(hb)); } } }
void init(void) { // Enable outputs DDRC = 0b11111111; PORTC = 0xFF; // Turn on PWR Led cbi(PORTC, PORTC0); InitLeds(); uart0_init(); uart0_setbaud(HOST_BAUD_RATE); rs485_init(); rs485_setbaud(BUS_BAUD_RATE); ctable_init(); adc_init(); //timer1_init(); //timer1_set_overflow_callback(timer1_callback); sei(); }
int main() { SysTick_Config(SystemCoreClock / 1000); InitLeds(); GPIO_SetBits(GPIOD, GREEN_LED); Delay(100); GPIO_ResetBits(GPIOD, GREEN_LED); GPIO_SetBits(GPIOD, ORANGE_LED); Delay(100); GPIO_ResetBits(GPIOD, ORANGE_LED); GPIO_SetBits(GPIOD, RED_LED); Delay(100); GPIO_ResetBits(GPIOD, RED_LED); GPIO_SetBits(GPIOD, BLUE_LED); Delay(100); GPIO_ResetBits(GPIOD, BLUE_LED); /** * USART */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC, ENABLE); GPIO_PinAFConfig(USART2_TX_PORT, USART2_TX_PIN_SOURCE, GPIO_AF_USART2); GPIO_PinAFConfig(USART2_RX_PORT, USART2_RX_PIN_SOURCE, GPIO_AF_USART2); /* Configure USART Tx as alternate function */ GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Pin = USART2_TX_PIN; GPIO_Init(USART2_TX_PORT, &GPIO_InitStructure); /* Configure USART Rx as alternate function */ GPIO_InitStructure.GPIO_Pin = USART2_RX_PIN; GPIO_Init(USART2_RX_PORT, &GPIO_InitStructure); USART_InitTypeDef USART_InitStructure; USART_InitStructure.USART_BaudRate = 115200; USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; USART_Init(USART2, &USART_InitStructure); /* Enable USART */ USART_Cmd(USART2, ENABLE); Serial_print(USART2, "Hello World! -- Compiled on: "); Serial_print(USART2, __DATE__); Serial_print(USART2, " - "); Serial_println(USART2, __TIME__); /** * Interrupts */ NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = DCMI_IRQn; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_Init(&NVIC_InitStructure); DCMI_ClearITPendingBit(DCMI_IT_FRAME | DCMI_IT_OVF | DCMI_IT_ERR); DCMI_ITConfig(DCMI_IT_FRAME | DCMI_IT_OVF | DCMI_IT_ERR, ENABLE); NVIC_InitStructure.NVIC_IRQChannel = DMA2_Stream1_IRQn; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_Init(&NVIC_InitStructure); DMA_ClearITPendingBit(DMA2_Stream1, DMA_IT_TCIF1 | DMA_IT_TEIF1); DMA_ITConfig(DMA2_Stream1, DMA_IT_TC | DMA_IT_FE | DMA_IT_TE | DMA_IT_DME, ENABLE); Serial_print(USART2, "Interrupts done. \r\n"); /** Camera Reset Pin & Power Down Pin */ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_Speed = GPIO_Low_Speed; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_9; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_SetBits(GPIOA, GPIO_Pin_10); GPIO_ResetBits(GPIOA, GPIO_Pin_9); /** * DCMI */ OV2640_HW_Init(); Serial_print(USART2, "HW_Init done. \r\n"); /* Print camera Id */ OV2640_IDTypeDef camera_id; OV2640_ReadID(&camera_id); Serial_print(USART2, "Camera ID: "); Serial_print(USART2, camera_id.Manufacturer_ID1, 16); Serial_print(USART2, " - "); Serial_print(USART2, camera_id.Manufacturer_ID2, 16); Serial_print(USART2, " - "); Serial_print(USART2, camera_id.PIDH, 16); Serial_print(USART2, " - "); Serial_print(USART2, camera_id.PIDL, 16); Serial_println(USART2, ""); OV2640_QQVGAConfig(); Serial_print(USART2, "QQVGAConfig done. \r\n"); // OV2640_BandWConfig(0x18); // BW OV2640_Init(BMP_QQVGA); Serial_print(USART2, "Init done. \r\n"); // Memset int i; for (i=0; i<160*120; i++) { Targetbuffer[i] = 0xbeef; } DMA_Cmd(DMA2_Stream1, ENABLE); while ( DMA_GetCmdStatus(DMA2_Stream1) != ENABLE ) ; Serial_print(USART2, "DMA Enable done. \r\n"); DCMI_Cmd(ENABLE); Serial_print(USART2, "DCMI Enable done. \r\n"); DCMI_CaptureCmd(ENABLE); Serial_print(USART2, "DCMI Capture start. \r\n"); Serial_print(USART2, "Print: \r\n.\r\n.\r\n"); Serial_print(USART2, "done. \r\n"); Delay(1); // Clear screen Serial_print(USART2, 0x1b); Serial_print(USART2, "[2J"); while (1) { while (DCMI_GetFlagStatus(DCMI_FLAG_FRAMERI) == RESET) ; print_CameraData(); // Move cursor to home position. Serial_print(USART2, 0x1b); Serial_print(USART2, "[H"); } }
//-------------------------------------------------------------------- // Main Init function //-------------------------------------------------------------------- void init(void) { uint16_t dummy = 0; int16_t ret; LED_ERROR_ON; //enable AD converter adc_init(); ResetImu(); //enable communication to PC over USB HostInit(); //enable communication to the bus BusInit(); //enable communications with gps GpsInit(); InitLeds(); XbeeInit(); //timer for sending out estop status timer3_init(); //timer3_set_overflow_callback(SendEstopStatus); timer3_set_overflow_callback(globalTimerOverflow); timer4_init(); timer4_set_compa_callback(Rs485ResponseTimeout); timer4_disable_compa_callback(); timer1_init(); timer1_set_compa_callback(EncodersRequestFcn); //generate the request packets: encoderRequestRawPacketSize = DynamixelPacketWrapData(MMC_MOTOR_CONTROLLER_DEVICE_ID, MMC_MOTOR_CONTROLLER_ENCODERS_REQUEST, &dummy,sizeof(dummy), encoderRequestRawPacket, encoderRequestRawPacketMaxSize); Servo1Init(GlobalTimerGetTime()); //buzzer port BUZZER_DDR |= _BV(BUZZER_PIN); //enable global interrupts sei(); DDRL |= _BV(PL3) | _BV(PL5) | _BV(PL4); PORTL |= _BV(PL3) | _BV(PL5) | _BV(PL4); //PORTL |= _BV(PL3); /* TCCR5A |= _BV(WGM51) | _BV(WGM50); TCCR5B |= _BV(WGM52) | _BV(WGM53); OCR5A = 2000; TCCR5A |= _BV(COM5A0); TCCR5A |= _BV(COM5B0); TCCR5A |= _BV(COM5C0); */ LED_ERROR_OFF; }