int main() { TIL311 = 0x98; srand(); sem_init(&lcd_sem); lcd_init(); serial_start(SERIAL_SAFE); puts("Hello! Starting tasks.\n"); enter_critical(); create_task(&task_time,0); create_task(&task_echo,0); create_task(&task_scroller,0); create_task(&task_wav_play,0); /* for (int i = 0; i < 16; i++) create_task(&breeder_task,0);*/ leave_critical(); yield(); puts("Tasks started, main() returning.\n"); return 0; }
void riuc4_start(serial_t *serial, char *port_dev) { riuc4_t *riuc4 = (riuc4_t *)serial->user_data; riuc4->uart4_command.command[0] = 0; riuc4->uart4_command.command[1] = 0; riuc4->uart4_command.command[2] = 0; riuc4->uart4_command.command[3] = 0; strncpy(serial->port_dev, port_dev, sizeof(serial->port_dev)); serial_start(serial); }
int main(int argc, char *argv[]) { struct serialsosurce ss; serial_start(&ss); #define OPEN 1 #define CLOSE 0 while (1) { // controller_set(&ss, 120, CLOSE); // int status; // controller_get(&ss, 120, &status); // printf("controller %d status is %d\n", 120, status); // sleep(3); // controller_set(&ss, 120, CLOSE); // sleep(3); // sensor_set(&ss, 20, 100); // int status; // sensor_get(&ss, 20, &status); // printf("sensor %d status is %d\n", 20, status); // // sleep(3); struct sensorX sx; int id[] = {1, 10, 20, 40}; int data[] = {10, 20, 30, 40}; sensorX_init(&sx, sizeof(id)/sizeof(int), id, data); sensorX_set(&ss, &sx); struct sensorX sx_test; int id2[] = {1, 10, 20, 40}; sensorX_init(&sx_test, sizeof(id2)/sizeof(int), id2, NULL); sensorX_get(&ss, &sx_test); printf("Sensor Data:\n"); printf("=========================\n"); int i; for (i = 0; i < sx_test.n; i++) { printf("sensor id[%d] = %d\n", sx_test.id[i], sx_test.data[i]); } printf("=========================\n"); sleep(3); } while (1) getchar(); serial_stop(&ss); return 0; }
void main(void) { if (jump_token == JUMP_TOKEN) { jump_token = 0; jump_application(); } setup_hsi(); serial_start(&Serial1, 115200); ASSERT(xTaskCreate(main_thread, "main", MAIN_STACK_SIZE, NULL, THREAD_PRIO_MAIN, &thread_main)); vTaskStartScheduler(); }
int main() { TIL311 = 0x01; default_interrupts(); serial_start(SERIAL_SAFE); millis_start(); lcd_init(); lcd_puts("Hello from C,\non the 68008!"); beep(700,250); DELAY_MS(50); beep(500,300); DELAY_MS(100); beep(700,500); DELAY_MS(500); play_rtttl(songs[0]); while(true) { TIL311 = 0xCC; DELAY_MS(1000); TIL311 = 0xC0; DELAY_MS(1000); TIL311 = 0xDE; DELAY_MS(1000); TIL311 = 0x00; DELAY_MS(1000); if(serial_available()) { int16_t ch; lcd_clear(); uint8_t c = 0; while ((ch = getc()) != -1) { putc(ch); lcd_data(ch); if (c++ == 15) lcd_cursor(0,1); } } else { lcd_clear(); lcd_puts("Time since boot:"); lcd_cursor(0,1); lcd_printf("%3d.%02d seconds",millis()/1000, (millis()%1000)/10); } } }
int main() { TIL311 = 0x01; serial_start(SERIAL_SAFE); //millis_start(); sei(); uint8_t *addr = 0x40000; for (uint16_t i = 0; i < 300; i++) *(addr++) = i & 0xFF; return_to_loader(); }
int main() { serial_start(SERIAL_SAFE); // set up timer B TBDR = 29; // approx 15.9 khz out TBCR = 0x1; // prescaler of 4 // wait for the fifo to clear of garbage DELAY_MS(50); wav_start = song_bin; wav_end = wav_start + song_len - 1; wav_ptr = wav_start; if ((*(uint32_t*)256754) != 0xDEADBEEF) { (*(uint32_t*)256754) = 0xDEADBEEF; } else { (*(uint32_t*)256754) = 0; wav_start = 0x50000; wav_ptr = wav_start; for (uint32_t i = 0; i < 65536; i++) *(wav_ptr++) = i&0xFF; wav_end = wav_ptr-1; wav_ptr = wav_start; } // set up the reload interrupt __vectors.user[MFP_INT + MFP_GPI2 - USER_ISR_START] = &wav_isr; AER |= (1 << 2); IERB |= INTR_GPI2; IMRB |= INTR_GPI2; // prime the fifo memcpy(IO_DEV3, wav_ptr, 512); wav_ptr += 512; sei(); puts("Playback started.\n"); // wait for end of clip & loop. while(1) { TIL311 = ((wav_ptr - wav_start) * ((wav_end-wav_start)/16000) / (wav_end-wav_start)); } }
/* start at command */ void atcmd_start(void) { at_serial_para_t para; at_cmd_init(); at_serial(¶); //serial_init(SERIAL_UART_ID, 115200, UART_DATA_BITS_8, UART_PARITY_NONE, UART_STOP_BITS_1, para.hwfc); serial_init(SERIAL_UART_ID, para.baudrate, UART_DATA_BITS_8, UART_PARITY_NONE, UART_STOP_BITS_1, para.hwfc); serial_start(); /* start atcmd task */ if (OS_ThreadCreate(&g_atcmd_thread, "atcmd", atcmd_task, NULL, OS_THREAD_PRIO_CONSOLE, ATCMD_THREAD_STACK_SIZE) != OS_OK) { ATCMD_ERR("create serial task failed\n"); return ; } }
int main(int argc, char **argv) { time_t begin = time(NULL); autopilot_initialize(); serial_start("/dev/ttyUSB0"); printf("Opened serial connection.\n"); read_messages(); // first read to make sure that there is a connection printf("Acquired initial read\n"); autopilot_start(); printf("locked data from read_messages()\n"); send_pre_arm_void_commands(); // arm_sequence(); usleep(200000); // 200ms = 5Hz offboard_control_sequence(); usleep(200000); mavlink_set_position_target_local_ned_t set_point; for(int i = 0; i < 30; i++){ // printf("Current Initial position : x = %f , y = %f , z = %f\n", ip.x, ip.y, ip.z); printf("%d: Current set point : x = %f, y = %f z=%f\n", i, ip.x, ip.y, ip.z - 0.25); set_yaw (ip.yaw, &set_point); set__(- 1.0 + ip.x , ip.y, ip.z - 2, &set_point); usleep(100000); } // disarm_sequence(); usleep(200000); disable_offboard_control_sequence(); usleep(200000); return 0; }
static void main_thread(void *pdata) { QueueSetHandle_t qs; QueueSetMemberHandle_t active; ASSERT((qs = xQueueCreateSet(SERIAL_RX_SIZE * 3))); serial_start(cli_serial, 115200, qs); serial_start(&Serial4, 57600, qs); serial_start(&Serial5, cfg.gps_baud_rate ? cfg.gps_baud_rate : 57600, qs); cli_set_output(cli_serial); log_start(cli_serial); cl_enabled = 1; load_eeprom(); cfg.flags &= ~FLAG_HOLDOVER_TEST; if (cfg.flags & FLAG_GPSEXT) { gps_serial = &Serial5; } else { gps_serial = &Serial4; } if (!cfg.holdover) { cfg.holdover = 60; } if (!cfg.loopstats_interval) { cfg.loopstats_interval = 60; } ppscapture_start(); vtimer_start(); tcpip_start(); test_reset(); cli_banner(); if (!(cfg.flags & FLAG_GPSEXT)) { ublox_configure(); if (HAS_FEATURE(PPSEN) && (cfg.flags & FLAG_PPSEN)) { GPIO_OFF(PPSEN); } } cl_enabled = 0; while (1) { watchdog_main = 5; active = xQueueSelectFromSet(qs, pdMS_TO_TICKS(1000)); if (active == cli_serial->rx_q) { int16_t val = serial_get(cli_serial, TIMEOUT_NOBLOCK); ASSERT(val >= 0); cli_feed(val); } else if (active == gps_serial->rx_q) { int16_t val = serial_get(gps_serial, TIMEOUT_NOBLOCK); ASSERT(val >= 0); gps_byte_received(val); if (cfg.flags & FLAG_GPSOUT) { char tmp = val; serial_write(&Serial5, &tmp, 1); } #if 0 } else if (active == Serial5.rx_q) { char tmp = serial_get(&Serial5, TIMEOUT_NOBLOCK); serial_write(&Serial4, &tmp, 1); #endif } } }
int main() { TIL311 = 0x01; __vectors.address_error = &address_err; __vectors.bus_error = &bus_error; __vectors.illegal_instr = &illegal_inst; __vectors.divide_by_0 = &divby0; __vectors.uninitialized_isr = &bad_isr; __vectors.int_spurious = &spurious; __vectors.auto_level2 = &auto_lvl2; __vectors.priv_violation = &priv_vio; serial_start(); millis_start(); init_printf(null, &printf_putc); lcd_init(); lcd_puts("Hello from C,\non the 68008!"); mario(); init_printf(null, &printf_lcd); /* while(true) { lcd_cursor(0,0); printf("Runtime: %d.%02d ",millis/1000, (millis%1000)/10); }*/ while(true) { TIL311 = 0xCC; DELAY_MS(1000); TIL311 = 0xC0; DELAY_MS(1000); TIL311 = 0xDE; DELAY_MS(1000); TIL311 = 0x00; DELAY_MS(1000); if(serial_available()) { int16_t ch; lcd_clear(); uint8_t c = 0; while ((ch = getc()) != -1) { putc(ch); lcd_data(ch); if (c++ == 15) lcd_cursor(0,1); } } else { lcd_clear(); lcd_puts("Time since boot:"); lcd_cursor(0,1); printf("%3d.%02d seconds",millis()/1000, (millis()%1000)/10); } } }
//Main program int main() { int i,n=0,j=0; float diff; FMOD_SYSTEM *fmod = 0; FMOD_RESULT result; //establish COM communication if(serial_start(TEXT("COM7")) != 0) { printf("Error while establishing COM connection!\n"); system("PAUSE"); exit(1); } Sleep(1000);//sleep so that uC can clear LEDs' status //FMOD result = FMOD_System_Create(&fmod); if(result != FMOD_OK) { printf("FMOD Error"); exit(1); } //Mutex stopAppMutex = CreateMutex(NULL,NULL,NULL); _stopApp = FALSE; spectrumMutex = CreateMutex(NULL,NULL,NULL); for(i = 0;i<8;i++) { analyzedSpectrum[i] = 0; } //FMOD listening thread _beginthread(getSpectrum, 0, fmod); //Network thread //_beginthread(notifyLightshow, 0, NULL); //control LEDs n=0; while(1) { //clear for(i = 0;i<25;i++){ buf[0+i*3]=0x00; buf[1+i*3]=0x00; buf[2+i*3]=0x00; } WaitForSingleObject(spectrumMutex, INFINITE); for( i =0;i<5;i++) { diff = abs((analyzedSpectrum[i]/10-previousAnalyzedSpectrum[i]/10)*10); switch(i) { case 0: barsToLEDMapping(0,diff); break; case 1: barsToLEDMapping(1,diff); break; case 2: barsToLEDMapping(2,diff); break; case 3: barsToLEDMapping(3,diff); break; case 4: barsToLEDMapping(4,diff); break; } previousAnalyzedSpectrum[i]=analyzedSpectrum[i]; } ReleaseMutex(spectrumMutex); serial_write(buf, 3*25); } //cleanup CloseHandle(comPort); system("PAUSE"); return 0; }