MbedResponse *NetCentricApp::rotateR(MbedRequest *request) { printf("---------------IK BEN HIER___________"); DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut led3(LED3); DigitalOut led4(LED4); if (request->n > 0) led1 = request->args[0]; if (request->n > 1) led2 = request->args[1]; if (request->n > 2) led3 = request->args[2]; if (request->n > 3) led4 = request->args[3]; MbedResponse *r = new MbedResponse(); r->requestId = request->id; r->commandId = request->commandId; r->error = NO_ERROR; r->n = 4; r->values = new float[4]; r->values[0] = led1; r->values[1] = led2; r->values[2] = led3; r->values[3] = led4; callServo(request->args[0]); return r; }
// Control the LED's. MbedResponse *NetCentricApp::ledCommand(MbedRequest *request) { DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut led3(LED3); DigitalOut led4(LED4); if (request->n > 0) led1 = request->args[0]; if (request->n > 1) led2 = request->args[1]; if (request->n > 2) led3 = request->args[2]; if (request->n > 3) led4 = request->args[3]; MbedResponse *r = new MbedResponse(); r->requestId = request->id; r->commandId = request->commandId; r->error = NO_ERROR; r->n = 4; r->values = new float[4]; r->values[0] = led1; r->values[1] = led2; r->values[2] = led3; r->values[3] = led4; return r; }
int main() { MBED_HOSTTEST_TIMEOUT(20); MBED_HOSTTEST_SELECT(stdio_auto); MBED_HOSTTEST_DESCRIPTION(stdio); MBED_HOSTTEST_START("MBED_2"); DigitalOut led1(LED1); DigitalOut led2(LED2); int value_int; notify_start(); // Just to sync with host test supervisor const char* PRINT_PATTERN = "MBED: Your value was: %d\r\n"; while (true) { // SCANF PRINTF family value_int = 0; led1 = 1; scanf("%d", &value_int); printf(PRINT_PATTERN, value_int); led1 = 0; // FSCANF, FPRINTF family value_int = 0; led2 = 1; fscanf(stdin, "%d", &value_int); fprintf(stdout, PRINT_PATTERN, value_int); led2 = 0; } }
int main(void) { uint8_t retval; while (1) { init(); for (retval = 0; retval < 50; retval++) { /* wait x ms until inputs are debounced */ wait_for_timer_tick(); } if (direction == ASK) { if (position() == OPEN) direction = DOWN; else direction = UP; } if (!get_key_press(START_BT)) { goto unintended_wakeup; } led1(GREEN); start_moving(direction); retval = 1; while (run_enable && retval) { wait_for_timer_tick(); retval = pwm_ramp_up(); if (get_key_press(START_BT)) { disable(); } } while (run_enable) { wait_for_timer_tick(); if (get_key_press(START_BT)) { disable(); } } retval = 1; while (retval) { wait_for_timer_tick(); retval = pwm_ramp_down(); } stop_moving(); unintended_wakeup: led1(OFF); deinit(); sleep(); } /* never reached */ return 0; }
/* * A task class to blink the led1 */ void tskBlink(CThread *p_thread, xHandle p_param) { CPin led1(LED_PIN_1); // declare led1 on P0.19 led1.output(); // set led1 as output pin. while( p_thread->isAlive() ) { // check task alive led1.toggle(); // toggle the led1 sleep(100); } }
void led(int i) { //if(i>99){_delay_ms(111);return;} long int k; for(k=0;k<255;k++){ led1(i/10);_delay_us(800); led2(i%10);_delay_us(800);} }
void tskLED1(CThread *p_thread, xHandle p_params) { CPin led1(LED_PIN_0); led1.output(); while( p_thread->isAlive() ) { if ( m_semButton.wait() ) { // wait for the semaphore led1.toggle(); } } }
void leds_state(int leds) { led1( ( leds & (1<<0) ) && (1<<0) ); led2( ( leds & (1<<1) ) && (1<<1) ); led3( ( leds & (1<<2) ) && (1<<2) ); led4( ( leds & (1<<3) ) && (1<<3) ); led5( ( leds & (1<<4) ) && (1<<4) ); led6( ( leds & (1<<5) ) && (1<<5) ); }
int main(void) { //Hier wird alles initialisiert, dh Grundeinstellungen festgelegt init_Motor(); //Motor einstellen init_system_tick(); //System Tick einstellen init_drehzahlsensor(); //Drehzahlsensor einstellen init_leds(); //LEDs einstellen init_hupe(); //Hupe einstellen sei(); //Alle Interrupts einschalten while(1) //Alles innerhalb der while Schleife wird immer wieder wiederholt { if (~PINB & 0x01) //Wenn der invertierte Wert des ersten Bits in PINB 1 ist, dann (also wenn der Button gedrückt wird) { led1(AN); //Mach die LEDs 1 und 3 an led3(AN); m_r(255,0); //Und die Motoren mit Vollgas (255) in 2 Richtungen m_l(255,1); _delay_ms(500); //Warte 500 ms led1(AUS); //LEDs 1 und 3 aus, LEDs 2 und 4 an led3(AUS); led2(AN); led4(AN); m_r(255,1); //Richtungen ändern m_l(255,0); _delay_ms(500); //und wieder 500ms in die andere Richtung m_r(0,0); //Motoren aus m_l(0,0); led2(AUS); //Leds aus led4(AUS); hupe(AN); //Hupe an _delay_ms(1000); //1 s warten hupe(AUS); //Hupe aus _delay_ms(300); //300ms warten hupe(AN); //Hupe an _delay_ms(500); //warte 500 ms hupe(AUS); //Hupe aus } //wieder nach oben } }
int main(void) { DDRB |= _BV(PB6) | _BV(PB7); // LED outputs PORTB |= _BV(PB7) | _BV(PB6); DDRB |= _BV(PB2); // Enable Motors output DDRC |= _BV(PC1); // Enable LASER outout stop(); // This pulls the motor driver reset wdt_enable(WDTO_4S); muartInit(); mprintf(PSTR("#Power up!\n")); // Ensure that the motor drivers are properly initialized by holding them in reset while the power stabilizes. for (char i=0;i<10;i++) { _delay_ms(100); } run(); mprintf(PSTR("#Motor drivers and laser armed!\n")); led1(0); led2(0); char frame = 0; while(1) { if (!(frame & 15)) { mprintf(PSTR("OK\n")); } if (frame & 8) { led1(!(frame & 1)); } else { led2(!(frame & 1)); } _delay_ms(50); wdt_reset(); frame++; } }
static void appTaskLED1Led(void *pdata) { DigitalOut led1(LED1); /* Start the OS ticker -- must be done in the highest priority task */ SysTick_Config(SystemCoreClock / OS_TICKS_PER_SEC); /* Task main loop */ while (true) { led1 = !led1; OSTimeDlyHMSM(0,0,0,500); } }
void animation(void) { volatile int i; for(i = 50;i<ANIMATION_MAX;i+=15) { led1(ON); delay_ms(i); led2(ON); delay_ms(i); led3(ON); delay_ms(i); led4(ON); delay_ms(i); led1(OFF); delay_ms(i); led2(OFF); delay_ms(i); led3(OFF); delay_ms(i); led4(OFF); delay_ms(i); } }
void test_spdt() { //创建所需元器件 ngdc dc("dc1", 5); ngspdt spdt("spdt", ngspdt::status_throw1); ngresistor r1("1", 5); ngresistor r2("2", 5); ngled led1("led1"); ngled led2("led2"); ngground gnd; //创建接线,连接各元器件 ngline l1(dc.pos, spdt.pole); ngline l2(spdt.throw1, r1.p1); ngline l3(spdt.throw2, r2.p1); ngline l4(r1.p2, led1.pos); ngline l5(r2.p2, led2.pos); ngline l6(led1.neg, dc.neg); ngline l7(led2.neg, dc.neg); ngline l0(dc.neg, gnd.ground); //创建电路图,添加元器件、接线到电路图 schema sch; sch.AddDevices(&dc, &spdt, &r1, &r2, &led1, &led2, &gnd, 0); sch.AddLines(&l1, &l2, &l3, &l4, &l5, &l6, &l7, &l0, 0); //创建仿真对象,添加电路图,并开始暂态仿真 circuit cir(&sch); cir.Tran("1t", "1m", 0); do { Sleep(200); char ch = getchar(); switch (ch) { case 'a': cir.SwitchOver(&spdt); Sleep(200); break; case 'q': cir.Halt(); default: break; }; } while (cir.IsRunning()); //主程序线程,类似windows UI消息循环 }
int main(void) { // led pins c6,7 d13,6 gpio::PinOutput led1(gpio::C, 7); // key pin E2-5 gpio::PinInput irpin(gpio::E, 3); irpin_ptr = &irpin; serial << "hehelo\n"; ir_decoder.SetDecodeCB(signalMatched); Setup(); //LCDSetBounds(0,0,LCD_WIDTH-1,LCD_HEIGHT-1); //LCDClear(); while(true) { led1 = irpin; } }
virtual void run() { CPinINT irq1(P13); CPinINT irq2(P14); CPin led1(LED1); CPin led2(LED2); irq1.begin(); irq2.begin(); while(1) { if ( irq1.wait(0) ) { led1.invert(); } if ( irq2.wait(0) ) { led2.invert(); } } }
void GPSSensorUBX::DoSerialAGPS(void) { // Light PwmOut led1(LED1); PwmOut led2(LED2); led1.write(1.0); led2.write(1.0); bool gotSomething = false; while(1) { char c; if(debug_read(&c)) { DBG("got %c",c); gps.putc(c); gotSomething = true; } else if(gotSomething) { break; } } DBG("out"); led1.write(0.0); led2.write(0.0); }
void vATaskFunction( void *pvParameters ) { Serial *usb=(Serial*)pvParameters; Led led1(LED1); portTickType lastTickTime; lastTickTime = xTaskGetTickCount (); for( ;; ) { led1.on(); vTaskDelayUntil (&lastTickTime, 100); /* wait until lastTickTime + 100ms */ led1.off(); usb->printf("** [A] TICK: %d\r\n",(int)lastTickTime); vTaskDelayUntil (&lastTickTime, 400); /* wait until lastTickTime + 400ms */ } }
static void appTaskLeds(void *pdata) { DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut led3(LED3); DigitalOut led4(LED4); /* Task main loop */ while (true) { if (led1Flashing) { led1 = !led1; } if (led2Flashing) { led2 = !led2; } if (led3Flashing) { led3 = !led3; } if (led4Flashing) { led4 = !led4; } OSTimeDlyHMSM(0,0,0,500); } }
int main (void) { ioport_set_pin_dir(IO_1,IOPORT_DIR_OUTPUT); ioport_set_pin_dir(IO_2,IOPORT_DIR_OUTPUT); ioport_set_pin_dir(IO_3,IOPORT_DIR_OUTPUT); ioport_set_pin_dir(IO_4,IOPORT_DIR_OUTPUT); ioport_set_pin_dir(IO_5,IOPORT_DIR_OUTPUT); ioport_set_pin_dir(IO_6,IOPORT_DIR_OUTPUT); ioport_set_pin_dir(IO_7,IOPORT_DIR_OUTPUT); ioport_set_pin_dir(IO_8,IOPORT_DIR_INPUT); init_octopus(); animation(); //Activate button interrupt pmic_init(); pmic_set_scheduling(PMIC_SCH_ROUND_ROBIN); PORTC.INTCTRL = 0x03; PORTC.INT0MASK = (1<<3); PORTC.PIN3CTRL |= (1<<1); cpu_irq_enable(); //Activate ZCD signal interruption cpu_irq_disable(); PORTD.INTCTRL = 0x03; PORTD.INT0MASK = (1<<5); PORTD.PIN5CTRL |= 0x01; cpu_irq_enable(); //Activate RTC rtc_init(); // pwm_ini(SERVO_0); // pwm_update(SERVO_0,0); // delay_ms(1000); // pwm_update(SERVO_0,500); // delay_ms(1000); // pwm_update(SERVO_0,1000); char aux; char aux2; for(;;) { printf("hello"); if(bluetooth_is_rx_complete()) { scanf("%1c",&aux); switch (aux) { case 'C': scanf("%1c",&aux); if (aux=='1') { led1(ON); ioport_set_pin_level(IO_1,ON); } else { led1(OFF); ioport_set_pin_level(IO_1,OFF); } break; case 'T': scanf("%1c",&aux); if (aux=='1') { led2(ON); ioport_set_pin_level(IO_2,ON); } else { led2(OFF); ioport_set_pin_level(IO_2,OFF); } break; case 'D': scanf("%i",&dimmer); RTC.COMP=dimmer; break; case 'O': scanf("%1c",&aux); scanf("%1c",&aux); scanf("%1c",&aux2); if(aux == '1') { if(aux2=='1') { led3(ON); ioport_set_pin_level(IO_3,ON); } else { led3(OFF); ioport_set_pin_level(IO_3,OFF); } } else { if(aux2=='1') { led4(ON); ioport_set_pin_level(IO_4,ON); } else { led4(OFF); ioport_set_pin_level(IO_4,OFF); } } break; } } } }
// // Main Routine // int main(void) { #ifdef DEBUG CSerial ser; // declare a UART object ser.enable(); CDebug dbg(ser); // Debug stream use the UART object dbg.start(); #endif // // SoftDevice // bleDevice ble; ble.attachEvent(onBleEvent); ble.enable(); // enable BLE SoftDevice task // GAP ble.m_gap.settings(DEVICE_NAME); // set Device Name on GAP bleServiceUriBeacon beacon(ble); // add uri beacon service switch ( beacon.get().tx_power_mode ) { case TX_POWER_MODE_LOWSET: ble.m_gap.tx_power(BLE_TX_m8dBm); break; case TX_POWER_MODE_LOW: ble.m_gap.tx_power(BLE_TX_m4dBm); break; case TX_POWER_MODE_MEDIUM: ble.m_gap.tx_power(BLE_TX_0dBm); break; case TX_POWER_MODE_HIGH: ble.m_gap.tx_power(BLE_TX_4dBm); break; } bleConnParams conn(ble); advertising_init(beacon_mode); // // Optional: Enable tickless technology // #ifndef DEBUG CPowerSave::tickless(true); #endif // // // CPin led0(LED_PIN_0); led0.output(); CPin led1(LED_PIN_1); led1.output(); CPin btn(BUTTON_PIN_0); btn.input(); // // Enter main loop. // while (1) { // // check button // if ( btn==LOW ) { led1 = LED_ON; // stop advertising ble.m_advertising.stop(); // change beacon mode if ( beacon_mode==beacon_mode_config ) { beacon_mode = beacon_mode_normal; } else { beacon_mode = beacon_mode_config; } // update mode and re-start the advertising advertising_init(beacon_mode); // waiting for btn released while(btn==LOW); led1 = LED_OFF; } // // LED Status // if ( beacon_mode==beacon_mode_config ) { // // Negotiate the "connection parameters update" in main-loop // conn.negotiate(); led0 = LED_ON; sleep(50); led0 = LED_OFF; sleep(150); } else { led0 = LED_ON; sleep(5); led0 = LED_OFF; sleep(beacon.get().beacon_period-5); } } }
int main (void) { ioport_set_pin_dir(IO_1,IOPORT_DIR_OUTPUT); ioport_set_pin_dir(IO_2,IOPORT_DIR_OUTPUT); ioport_set_pin_dir(IO_3,IOPORT_DIR_OUTPUT); ioport_set_pin_dir(IO_4,IOPORT_DIR_OUTPUT); init_octopus(); initial_animation(); pwm_ini(SERVO_0); pwm_update(SERVO_0,0); delay_ms(1000); pwm_update(SERVO_0,500); delay_ms(1000); pwm_update(SERVO_0,1000); char aux; char aux2; int dimmer=0; for(;;) { if(bluetooth_is_rx_complete()) { scanf("%1c",&aux); switch (aux) { case 'C': scanf("%1c",&aux); if (aux=='1') { led1(ON); ioport_set_pin_level(IO_1,ON); } else { led1(OFF); ioport_set_pin_level(IO_1,OFF); } break; case 'T': scanf("%1c",&aux); if (aux=='1') { led2(ON); ioport_set_pin_level(IO_2,ON); } else { led2(OFF); ioport_set_pin_level(IO_2,OFF); } break; case 'D': scanf("%i",&dimmer); break; case 'O': scanf("%1c",&aux); scanf("%1c",&aux); scanf("%1c",&aux2); if(aux == '1') { if(aux2=='1') { led3(ON); ioport_set_pin_level(IO_3,ON); } else { led3(OFF); ioport_set_pin_level(IO_3,OFF); } } else { if(aux2=='1') { led4(ON); ioport_set_pin_level(IO_4,ON); } else { led4(OFF); ioport_set_pin_level(IO_4,OFF); } } break; } } dimmer=dimmer*10; pwm_update(SERVO_0,dimmer); } }
int main(void) { int i; int reading1; int reading2; int address; int test_array[100]; for(i=0;i<100;i++) { motor(0,i); //spin the left motor forward motor(1,i); //spin the right motor forward } i=0; while(i>-100) { motor(0,i); //spin the left motor backwards motor(1,i); //spin the right motor backwards i--; } i=50; set_servo(0,i); //set servo motor 0 to move to 50 degrees set_servo(3,i); //set servo motor 3 to move to 50 degrees delay_milliseconds(100); //pause 100 milliseconds delay_seconds(1); //pause 1 second lcd_clear(); lcd_cursor(0,0); printf ("Test1\n"); //the LCD will be 8x2 (8chars x 2lines) printf ("Test2\n"); reading1 = analog(0); //get a reading from analog pin 0 reading2 = analog(5); //get a reading from analog pin 5 reading1 = digital(0); //get a reading from digital pin 0 reading2 = digital(1); //get a reading from digital pin 1 if (reading1 > 100) { printf ("%d\n", reading1); } reading1 = accelerometer(0); //read x-axis reading2 = accelerometer(1); //read y-axis reading1 = accelerometer(2); //read z-axis reading1 = battery_voltage(); //battery voltage reading1 = read_serial_port(); //get a byte from the serial port write_serial_port(reading1); //send a byte on the serial port led1(1); //turn on on-board led1 led1(0); //turn off on-board led1 reading1 = read_ir(); //get a reading from the IR receiver reset(); //reset the board write_eeprom(address, reading1); //write a value to the non-volatile eeprom (these values will be stored across resets) reading1 = read_eeprom(address); //get a reading from the non-volatile eeprom reading1 = button(); //read the state of the on-board button return 0; }