]> git.kernelconcepts.de Git - metawatch.git/blobdiff - mw_main.c
Add test bitmaps
[metawatch.git] / mw_main.c
index 4e871b43d8617af5682c5cd8ded56d8840ba3050..dd4e4a418854697272b400113a153aa2888350c8 100644 (file)
--- a/mw_main.c
+++ b/mw_main.c
@@ -34,6 +34,8 @@
 #include "crc16ccitt.h"
 #include "mw_utility.h"
 
+#include "bt_helper.h"
+
 typedef struct {
        GMainLoop *mloop;
        mwdevice_t mwdevice;
@@ -341,7 +343,7 @@ void process_cmd(char *cmdline, int clinep, mwdata_t *mwdata)
        }
        if (strncmp(cmdline, "srtc", 4) == 0) {
                fprintf(stderr, "Setting RTC from system time...");
-               mw_set_rtc(&mwdata->mwdevice, MW_RTC_CLOCK_24HR, MW_RTC_DATE_DDMM);
+               mw_set_rtc(&mwdata->mwdevice, MW_RTC_CLOCK_12HR, MW_RTC_DATE_MMDD);
                fprintf(stderr, "OK\n");
        }
        if (strncmp(cmdline, "grtc", 4) == 0) {
@@ -397,7 +399,8 @@ void process_cmd(char *cmdline, int clinep, mwdata_t *mwdata)
                bitmap_read(&mwdata->mwdevice);
        }
        if (strncmp(cmdline, "tnote", 5) == 0) {
-               test_notification(&mwdata->mwdevice);
+               // test_notification(&mwdata->mwdevice);
+               mw_do_notification(&mwdata->mwdevice, "TestNotification", "This is a pretty long text that needs to be broken and torn", 1);
        }
        if (strncmp(cmdline, "tapp", 4) == 0) {
                test_application(&mwdata->mwdevice);
@@ -439,120 +442,6 @@ int feed_menu(mwdata_t *mdata)
        return 0;
 }
 
-int open_socket(bdaddr_t *bdaddr, uint8_t channel)
-{
-       struct sockaddr_rc addr;
-       int sk, opt;
-       //int f;
-
-       sk = socket(PF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM);
-       if (sk < 0) {
-               fprintf(stderr, "Can't create socket: %s (%d)\n",
-                       strerror(errno), errno);
-                return -1;
-        }
-
-/*
-        f = 1;
-        if (setsockopt(sk, SOL_BLUETOOTH, BT_FLUSHABLE, &f, sizeof(f)) < 0) {
-               fprintf(stderr, "Can't set flushable: %s (%d)\n",
-                       strerror(errno), errno);
-               return -1;
-        }
-*/
-        memset(&addr, 0, sizeof(addr));
-        addr.rc_family = AF_BLUETOOTH;
-        bacpy(&addr.rc_bdaddr, BDADDR_ANY);
-
-        if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
-                fprintf(stderr, "Can't bind socket: %s (%d)\n",
-                                                        strerror(errno), errno);
-                close(sk);
-                return -1;
-        }
-
-       /* Set link mode */
-        opt = 0;
-        opt |= RFCOMM_LM_MASTER;
-        opt |= RFCOMM_LM_AUTH;
-/*
-        opt |= RFCOMM_LM_ENCRYPT;
-        opt |= RFCOMM_LM_SECURE;
-*/
-        if (opt && setsockopt(sk, SOL_RFCOMM, RFCOMM_LM, &opt, sizeof(opt)) < 0) {
-                fprintf(stderr, "Can't set RFCOMM link mode: %s (%d)",
-                                                        strerror(errno), errno);
-                close(sk);
-                return -1;
-        }
-
-        memset(&addr, 0, sizeof(addr));
-        addr.rc_family = AF_BLUETOOTH;
-        bacpy(&addr.rc_bdaddr, bdaddr);
-        addr.rc_channel = channel;
-
-        if (connect(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
-                fprintf(stderr, "Can't connect: %s (%d)\n",
-                                                        strerror(errno), errno);
-                close(sk);
-                return -1;
-        }
-
-        return sk;
-}
-
-void baswap(bdaddr_t *dst, const bdaddr_t *src)
-{
-        register unsigned char *d = (unsigned char *) dst;
-        register const unsigned char *s = (const unsigned char *) src;
-        register int i;
-
-        for (i = 0; i < 6; i++)
-                d[i] = s[5-i];
-}
-
-int bachk(const char *str)
-{
-        if (!str)
-                return -1;
-
-        if (strlen(str) != 17)
-                return -1;
-
-        while (*str) {
-                if (!isxdigit(*str++))
-                        return -1;
-
-                if (!isxdigit(*str++))
-                        return -1;
-
-                if (*str == 0)
-                        break;
-
-                if (*str++ != ':')
-                        return -1;
-        }
-
-        return 0;
-}
-
-int str2ba(const char *str, bdaddr_t *ba)
-{
-        bdaddr_t b;
-        int i;
-
-        if (bachk(str) < 0) {
-                memset(ba, 0, sizeof(*ba));
-                return -1;
-        }
-
-        for (i = 0; i < 6; i++, str += 3)
-                b.b[i] = strtol(str, NULL, 16);
-
-        baswap(ba, &b);
-
-        return 0;
-}
 
 gboolean handle_mw_io(GIOChannel *mw_io, GIOCondition condition, gpointer udata)
 {
@@ -710,6 +599,8 @@ int main(int argc, char **argv)
        memset(mdata.cmdline, 0, 128);
        mdata.cmdline_pos = 0;
 
+       mw_init(&mdata.mwdevice, mw_fd);
+
        g_main_loop_run (mdata.mloop);
 
        fsync(mw_fd);