forked from practicalarduino/OBDuinoMega
-
Notifications
You must be signed in to change notification settings - Fork 1
/
VDIP.pde
70 lines (61 loc) · 1.5 KB
/
VDIP.pde
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#ifdef ENABLE_VDIP
/**
* Copyright 2009 Jonathan Oxer <jon@oxer.com.au>
* Distributed under the same terms as OBDuino
*/
/**
* initVdip
* Set up the Vinculum VDIP flash storage device
*/
void initVdip()
{
hostPrint(" * Initialising VDIP ");
pinMode(VDIP_STATUS_LED, OUTPUT);
digitalWrite(VDIP_STATUS_LED, HIGH);
pinMode(VDIP_WRITE_LED, OUTPUT);
digitalWrite(VDIP_WRITE_LED, LOW);
pinMode(VDIP_RTS_PIN, INPUT);
pinMode(VDIP_RESET, OUTPUT);
digitalWrite(VDIP_RESET, LOW);
digitalWrite(VDIP_STATUS_LED, HIGH);
digitalWrite(VDIP_WRITE_LED, HIGH);
delay( 100 );
digitalWrite(VDIP_RESET, HIGH);
delay( 100 );
VDIP.begin(VDIP_BAUD_RATE); // Port for connection to Vinculum flash memory module
VDIP.print("IPA"); // Sets the VDIP to ASCII mode
VDIP.print(13, BYTE);
digitalWrite(VDIP_STATUS_LED, LOW);
digitalWrite(VDIP_WRITE_LED, LOW);
hostPrintLn("[OK]");
}
/**
* processVdipBuffer
* Reads data sent by the VDIP module and passes it on to the host
*/
void processVdipBuffer()
{
byte incomingByte;
while( VDIP.available() > 0 )
{
incomingByte = VDIP.read();
if( incomingByte == 13 ) {
HOST.println();
}
HOST.print( incomingByte, BYTE );
}
}
/**
* modeButton
* ISR attached to falling-edge interrupt 1 on digital pin 3
*/
void modeButton()
{
if((millis() - logButtonTimestamp) > 300) // debounce
{
logButtonTimestamp = millis();
//HOST.println(logButtonTimestamp);
digitalWrite(LOG_LED, !digitalRead(LOG_LED));
}
}
#endif