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/Project.h

137 lines
3.2 KiB
C
Raw Normal View History

2013-03-10 19:06:30 +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 <SerialPort.h>
#include <SdFat.h>
#ifndef Project_h
#define Project_h
#define DEBUG 1 // NONE = 0; MINIMAL = 1; FULL = 2;
// Whether or not the Arduino DUE is used as the base board
// Assume Mega 2560 otherwise
#define ARD_DUE false
2013-04-09 21:40:12 +00:00
// Buttons / Joystick / Input Hardware Pinouts
#define okButtonPin 22
#define okButtonLed 23
#define cancelButtonPin 24
#define cancelButtonLed 25
#define pspXPin 0 // After GND / @ edge
#define pspYPin 1 // Between VCC and gnd
2013-04-09 21:40:12 +00:00
// LCD Pinout
2013-04-07 05:32:42 +00:00
#define LCD_LITE 26 // Backlight pin
#define SD_CS 7 // Chip select line for SD card
#define LCD_CS 53 // Chip select line for TFT display
#define LCD_DC 9 // Data/command line for TFT
#define LCD_RST 8 // Reset line for TFT (or connect to +5V)
// Voltage Pinouts
#define voltagePinOnePointEight 40 // Pin controlling 1.8V TTL logic
#define voltagePinThreePointThree 41 // Pin controlling 3.3V TTL logic
#define voltagePinFivePointZero 42 // Pin controlling 5V TTL logic
2013-04-09 21:40:12 +00:00
// Timer pins
#define timerThreePin 2 // Maps to Mega pin 12
// Splash screen related
#define splashScreenFileName "SPLASH.BMP"
// SPI SD Card speed (Set to HALF for breadboards, full for better performance)
#define SPI_PROJECT_SPEED SPI_HALF_SPEED
2013-04-09 21:40:12 +00:00
// Colors / theme of UI
#define SPLASH_BACKGROUND ST7735_WHITE
#define BACKGROUND ST7735_BLACK
#define TEXT ST7735_WHITE
#define HILIGHT ST7735_YELLOW
// Don't change anything below here
// -----------------------------------------------------------------------------
2013-03-10 18:26:41 +00:00
// Global SD card so LCD / config can read/write files
extern SdFat sd;
#define FONT_WIDTH 6
#define FONT_HEIGHT 8
// Serial ports
#if ARD_DUE
extern SerialPort<0, 4096, 4096> serialPort0;
extern SerialPort<1, 4096, 4096> serialPort1;
extern SerialPort<2, 4096, 4096> serialPort2;
extern SerialPort<3, 4096, 4096> serialPort3;
#else
extern SerialPort<0, 512, 512> serialPort0;
extern SerialPort<1, 512, 512> serialPort1;
extern SerialPort<2, 512, 512> serialPort2;
extern SerialPort<3, 512, 512> serialPort3;
#endif
2013-03-10 18:26:41 +00:00
// Serial modes supported
// Abused in for loops / lookup tables -- DO NOT CHANGE none or set values
enum serialmode {
ttl,
2013-03-10 18:26:41 +00:00
db9_null,
cisco,
maxserialmode,
2013-03-10 18:26:41 +00:00
none=-1
};
// Map a mode -> text value
extern char* modeToText[];
2013-03-10 18:26:41 +00:00
// Line speeds supported
// Abused in for loops / lookup talbes -- DO NOT CHANGE none or set values
enum linespeed {
twentyFourHundredBaud,
ninetySixHundredBaud,
nineteenTwoK,
thirtyeightFourK,
fiftysevenFiveK,
oneFifteenTwoK,
2013-03-11 01:56:36 +00:00
maxlinespeed,
zero=-1
};
enum ttlvoltage {
onePointEight,
threePointThree,
five,
maxvoltage,
negOne=-1
};
extern char* voltageToText[];
// Description / speed scruct to use in lookup table
struct linespeedinfo {
2013-03-11 01:56:36 +00:00
char* description;
int linespeed;
};
// Known and supported line speeds
extern linespeedinfo linespeeds[];
2013-04-07 04:49:23 +00:00
enum timeout {
tenseconds,
thirtyseconds,
oneminute,
fiveminutes,
never,
maxtimeout
};
extern char* timeoutToText[];
#endif