// Dash Interface // // Douglas Thrift // // $Id$ #include #include #include #include #include #include #include #include "Display.hpp" bool debug(false); int main(int argc, char *argv[]) { std::string device; { Pcre::RegEx devicePath(_B("^-device=(/.+)$")); Pcre::RegEx deviceNumber(_B("^-device=([0-9]+)$")); Pcre::RegEx deviceName(_B("^-device=(.+)$")); for (char **arg = argv + 1; *arg; ++arg) { Pcre::RegEx::Match match; if (*arg == _B("-debug")) debug = true; else if (match = devicePath(*arg)) device = match[1]; else if (match = deviceNumber(*arg)) device = _B("/dev/cuaU") + match[1]; else if (match = deviceName(*arg)) device = _B("/dev/") + match[1]; else goto usage; } } if (device.empty()) { usage: std::cout << _B("Usage: ") << argv[0] << _B(" [-debug] [-device=device]") << std::endl; return 2; } try { //enum Mode { Uname, Music, English, Metric, Nautical, Last } mode(Uname); //Audacious audacious; Display display(device); display.Ping("Hello!"); std::cout << display.Version() << std::endl; display.Store(); display.Clear(); display.SetBacklight(100); 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); display.Set(0, 0, _B("Hello!")); display.Set(0, Display::Red, 100); /*GPS::GPS gps; gps.Query(_B("o")); std::cout << gps.GetLatitude() << std::endl;*/ } catch (const std::exception &exception) { std::cerr << argv[0] << _B(": ") << exception.what() << std::endl; return 1; } return 0; }