mirror of https://github.com/ArduPilot/ardupilot
AP_TimerProcess: added simple example sketch
This commit is contained in:
parent
4bca609b9f
commit
2c29fd8ba4
|
@ -0,0 +1,49 @@
|
||||||
|
// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: t -*-
|
||||||
|
|
||||||
|
//
|
||||||
|
// Simple test for the AP_TimerProcess library
|
||||||
|
//
|
||||||
|
|
||||||
|
#include <FastSerial.h>
|
||||||
|
#include <Arduino_Mega_ISR_Registry.h>
|
||||||
|
#include <AP_PeriodicProcess.h>
|
||||||
|
#include <AP_Math.h>
|
||||||
|
#include <AP_Common.h>
|
||||||
|
|
||||||
|
FastSerialPort0(Serial);
|
||||||
|
FastSerialPort1(Serial1);
|
||||||
|
|
||||||
|
Arduino_Mega_ISR_Registry isr_registry;
|
||||||
|
AP_TimerProcess scheduler;
|
||||||
|
|
||||||
|
uint32_t counter;
|
||||||
|
|
||||||
|
void ping(uint32_t now)
|
||||||
|
{
|
||||||
|
counter++;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setup(void)
|
||||||
|
{
|
||||||
|
Serial.begin(115200);
|
||||||
|
Serial.println("AP_TimerProcess Test ver 0.1");
|
||||||
|
|
||||||
|
isr_registry.init();
|
||||||
|
scheduler.init(&isr_registry);
|
||||||
|
|
||||||
|
// register our ping function
|
||||||
|
scheduler.register_process(ping);
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop(void)
|
||||||
|
{
|
||||||
|
static uint32_t secs = 0;
|
||||||
|
|
||||||
|
// check if 1second has passed
|
||||||
|
if( counter >= 1000 ) {
|
||||||
|
counter -= 1000;
|
||||||
|
secs++;
|
||||||
|
Serial.print("Seconds: ");
|
||||||
|
Serial.println(secs);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
include ../../../AP_Common/Arduino.mk
|
||||||
|
|
||||||
|
sitl:
|
||||||
|
make -f ../../../../libraries/Desktop/Desktop.mk
|
Loading…
Reference in New Issue