ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/truck/DashInterface/DashInterface.cpp
(Generate patch)

Comparing DashInterface/DashInterface.cpp (file contents):
Revision 24 by douglas, 2008-02-08T07:25:47-08:00 vs.
Revision 30 by douglas, 2008-02-28T17:01:10-08:00

# Line 4 | Line 4
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   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines