Rough addition of PSP joystick and dedicated push button; Also ran Arduino IDE code formatter
This commit is contained in:
parent
83d840ed39
commit
9c34d4ceaf
|
@ -8,7 +8,7 @@
|
|||
attribute.
|
||||
*/
|
||||
|
||||
#include <ColorLCDShield.h>
|
||||
#include "ColorLCDShield.h"
|
||||
|
||||
// Standard colors
|
||||
#define BACKGROUND BLACK
|
||||
|
|
|
@ -8,11 +8,37 @@
|
|||
attribute.
|
||||
*/
|
||||
|
||||
#include <ColorLCDShield.h>
|
||||
#include "ColorLCDShield.h"
|
||||
|
||||
#include "Project.h"
|
||||
#include "UI.h"
|
||||
|
||||
const int okButtonPin= 22;
|
||||
const int cancelButtonPin = 23;
|
||||
|
||||
// variables will change:
|
||||
int okButtonState = 0;
|
||||
int prevOkButtonState = okButtonState;
|
||||
int cancelButtonState = 0;
|
||||
int prevCancelButtonState = 0;
|
||||
|
||||
long upCount = 0;
|
||||
long downCount = 0;
|
||||
|
||||
const int Left = 1;
|
||||
const int Right = 2;
|
||||
const int Up = 3;
|
||||
const int Down = 4;
|
||||
|
||||
int xpin = 0; // After GND / @ edge
|
||||
int ypin = 1; // Between VCC and gnd
|
||||
|
||||
int xAxis;
|
||||
int yAxis;
|
||||
char* myStrings[]={
|
||||
"Left","Right","Up","Down"};
|
||||
int button;
|
||||
|
||||
// Map a mode -> text value
|
||||
char* modeToText[4] = {
|
||||
"Phone UART",
|
||||
|
@ -23,19 +49,31 @@ char* modeToText[4] = {
|
|||
|
||||
// Known and supported line speeds
|
||||
linespeedinfo linespeeds[6] = {
|
||||
{"2400b", 2400},
|
||||
{"9600b", 9600},
|
||||
{"19.2k", 19200},
|
||||
{"38.4k", 38400},
|
||||
{"57.5k", 57600},
|
||||
{"115k", 115200}
|
||||
{
|
||||
"2400b", 2400 }
|
||||
,
|
||||
{
|
||||
"9600b", 9600 }
|
||||
,
|
||||
{
|
||||
"19.2k", 19200 }
|
||||
,
|
||||
{
|
||||
"38.4k", 38400 }
|
||||
,
|
||||
{
|
||||
"57.5k", 57600 }
|
||||
,
|
||||
{
|
||||
"115k", 115200 }
|
||||
};
|
||||
|
||||
// LCD
|
||||
LCDShield lcd; // Line length max is 16
|
||||
|
||||
// Buttons
|
||||
int buttonPins[3] = {3, 4, 5};
|
||||
int buttonPins[3] = {
|
||||
3, 4, 5};
|
||||
|
||||
// Mode info needed
|
||||
serialmode currentMode = none;
|
||||
|
@ -56,6 +94,9 @@ void setup() {
|
|||
digitalWrite(buttonPins[i], HIGH);
|
||||
}
|
||||
|
||||
pinMode(okButtonPin, INPUT);
|
||||
pinMode(cancelButtonPin, INPUT);
|
||||
|
||||
/* Initialize the LCD, set the contrast, clear the screen */
|
||||
lcd.init(PHILIPS);
|
||||
lcd.contrast(-63);
|
||||
|
@ -75,30 +116,42 @@ void setup() {
|
|||
}
|
||||
|
||||
void loop() {
|
||||
xAxis=map(analogRead(xpin), 0, 1023, 0, 10);
|
||||
yAxis=map(analogRead(ypin), 0, 1023, 0, 10);
|
||||
|
||||
// Up
|
||||
if (!digitalRead(buttonPins[2])) {
|
||||
if (yAxis > 6 ) {
|
||||
upCount++;
|
||||
if (upCount > 768) {
|
||||
upCount = 0;
|
||||
serialmode newMode = (serialmode)(selectedMode - 1);
|
||||
if (newMode >= 0) {
|
||||
setSelection(newMode);
|
||||
}
|
||||
// Wait for release before going on
|
||||
while(!digitalRead(buttonPins[2]));
|
||||
}
|
||||
}
|
||||
else {
|
||||
upCount = 0;
|
||||
}
|
||||
|
||||
// Select / Enter
|
||||
if (!digitalRead(buttonPins[1])) {
|
||||
if (digitalRead(okButtonPin)) {
|
||||
setMode(selectedMode);
|
||||
// Wait for release before going on
|
||||
while(!digitalRead(buttonPins[1]));
|
||||
}
|
||||
|
||||
// Down
|
||||
if (!digitalRead(buttonPins[0])) {
|
||||
if (yAxis < 4 ) {
|
||||
downCount++;
|
||||
if (downCount > 768) {
|
||||
serialmode newMode = (serialmode)(selectedMode + 1);
|
||||
if (newMode <= modelinespeed) {
|
||||
setSelection(newMode);
|
||||
}
|
||||
// Wait for release before going on
|
||||
while(!digitalRead(buttonPins[0]));
|
||||
downCount = 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
downCount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue