This repository has been archived on 2020-09-09. You can view files and clone it, but cannot push or open issues or pull requests.
arduino_universal_serial_ad.../Universal_Serial_Adapter/Universal_Serial_Adapter.ino

56 lines
1.2 KiB
Arduino
Raw Normal View History

2013-03-10 18:26:41 +00:00
/*
Serial Adapter Project: Dynamic serial TTY passthroughs
by: Mike Crosson
Nusku Networks
date: 2013/03/09
license: CC-BY SA 3.0 - Creative commons share-alike 3.0
use this code however you'd like, just keep this license and
attribute.
*/
2013-03-10 18:26:41 +00:00
#include <Metro.h>
2013-03-10 18:26:41 +00:00
#include "Project.h"
#include "Config.h"
#include "UIButton.h"
#include "UIJoystickPSP.h"
#include "UILCD.h"
2013-04-07 05:32:42 +00:00
#include "UI.h"
2013-04-06 22:44:34 +00:00
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <SD.h>
#include <SPI.h>
#include <TimerThree.h>
2013-04-07 05:32:42 +00:00
UI* ui;
Config* config;
2013-04-06 22:44:34 +00:00
// helper for interrupt method call
void processSerial() {
config->processSerialData();
}
2013-03-10 18:26:41 +00:00
void setup() {
Serial.begin(115200);
config = new Config();
config->setDefaults();
ui = new UI();
// Setup serial IO on an interrupt timer
// ***THIS MUST BE DONE AFTER new Config()***
Timer3.initialize(100); // initialize timer3, value in micro seconds
Timer3.pwm(timerThreePin, 512); // setup pwm on appropriate pin, 50% duty cycle
Timer3.attachInterrupt(processSerial); // attaches method as a timer overflow interrupt
2013-03-10 18:26:41 +00:00
}
void loop() {
// Serial data is processed via an interrupt so isn't needed in the main loop
2013-04-07 05:32:42 +00:00
ui->processInputEvents();
ui->processTimeoutEvents();
2013-03-10 18:26:41 +00:00
}
2013-04-06 22:44:34 +00:00