ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/truck/DashInterface/DashInterface.cpp
Revision: 30
Committed: 2008-02-28T17:01:10-08:00 (17 years, 4 months ago) by douglas
File size: 1821 byte(s)
Log Message:
w00t! Moar progress!

File Contents

# Content
1 // Dash Interface
2 //
3 // Douglas Thrift
4 //
5 // $Id$
6
7 #include <iostream>
8
9 #include <foreach.hpp>
10 #include <hash.hpp>
11 #include <regex.hpp>
12
13 #include <Audacious.hpp>
14 #include <GPS.hpp>
15
16 #include <sqlite3.h>
17
18 #include "Display.hpp"
19
20 bool debug(false);
21
22 int main(int argc, char *argv[])
23 {
24 std::string device;
25
26 {
27 Pcre::RegEx devicePath(_B("^-device=(/.+)$"));
28 Pcre::RegEx deviceNumber(_B("^-device=([0-9]+)$"));
29 Pcre::RegEx deviceName(_B("^-device=(.+)$"));
30
31 for (char **arg = argv + 1; *arg; ++arg)
32 {
33 Pcre::RegEx::Match match;
34
35 if (*arg == _B("-debug"))
36 debug = true;
37 else if (match = devicePath(*arg))
38 device = match[1];
39 else if (match = deviceNumber(*arg))
40 device = _B("/dev/cuaU") + match[1];
41 else if (match = deviceName(*arg))
42 device = _B("/dev/") + match[1];
43 else
44 goto usage;
45 }
46 }
47
48 if (device.empty())
49 {
50 usage: std::cout << _B("Usage: ") << argv[0] << _B(" [-debug] [-device=device]") << std::endl;
51
52 return 2;
53 }
54
55 try
56 {
57 //enum Mode { Uname, Music, English, Metric, Nautical, Last } mode(Uname);
58 //Audacious audacious;
59 Display display(device);
60
61 display.Ping("Hello!");
62
63 std::cout << display.Version() << std::endl;
64
65 display.Store();
66 display.Clear();
67 display.SetBacklight(100);
68 display.KeyReporting(Display::Up | Display::Enter | Display::Cancel | Display::Left | Display::Right | Display::Down, Display::Up | Display::Enter | Display::Cancel | Display::Left | Display::Right | Display::Down);
69 display.Set(0, 0, _B("Hello, World!"));
70 display.Set(0, Display::Green, 0);
71 display.Set(0, Display::Red, 100);
72
73 /*GPS::GPS gps;
74
75 gps.Query(_B("o"));
76
77 std::cout << gps.GetLatitude() << std::endl;*/
78 }
79 catch (const std::exception &exception)
80 {
81 std::cerr << argv[0] << _B(": ") << exception.what() << std::endl;
82
83 return 1;
84 }
85
86 return 0;
87 }

Properties

Name Value
svn:keywords Id