Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
authorBdale Garbee <bdale@gag.com>
Wed, 12 Sep 2012 06:26:21 +0000 (00:26 -0600)
committerBdale Garbee <bdale@gag.com>
Wed, 12 Sep 2012 06:26:21 +0000 (00:26 -0600)
altosui/Makefile.am
altosui/altos-windows.nsi
altosui/libaltos/libaltos.c
configure.ac

index 9f75d5e38dd2decb1f1841deda959e7f6bbde2b2..0482029477a143f1843ba3cd64852cd99e2e6ae4 100644 (file)
@@ -6,7 +6,7 @@ man_MANS=altosui.1
 
 altoslibdir=$(libdir)/altos
 
-CLASSPATH_ENV=mkdir -p $(JAVAROOT); CLASSPATH=".:classes:../altoslib/*:libaltos::$(JFREECHART)/jfreechart.jar:$(FREETTS)/freetts.jar"
+CLASSPATH_ENV=mkdir -p $(JAVAROOT); CLASSPATH=".:classes:../altoslib/*:libaltos:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar:$(FREETTS)/freetts.jar"
 
 bin_SCRIPTS=altosui
 
index 986919d4a4297c0291ddca7e1ae0e89e8938a399..20dd65f04baa976a7e9ee49fe74f1da9388588bc 100644 (file)
@@ -88,6 +88,7 @@ Section "AltosUI Application"
        SetOutPath $INSTDIR
 
        File "altosui-fat.jar"
+       File "AltosLib.jar"
        File "cmudict04.jar"
        File "cmulex.jar"
        File "cmu_time_awb.jar"
@@ -157,6 +158,9 @@ Section "Uninstall"
        Delete "$INSTDIR\*.*"
        RMDir "$INSTDIR"
 
+       ; Remove .inf file
+       Delete "$WINDIR\Inf\telemetrum.inf"
+
        ; Remove devices
        InstDrv::InitDriverSetup /NOUNLOAD {4D36E96D-E325-11CE-BFC1-08002BE10318} AltusMetrumSerial
        InstDrv::DeleteOemInfFiles /NOUNLOAD
@@ -165,4 +169,5 @@ Section "Uninstall"
        ; Remove shortcuts, if any
        Delete "$SMPROGRAMS\AltusMetrum.lnk"
        Delete "$DESKTOP\AltusMetrum.lnk"
+       
 SectionEnd
index 515432f9ac21f8ed4e351ae89a881ae59cc398fe..ab6ca87887c87b69675890e8f87f6e55afb4d4bf 100644 (file)
@@ -941,7 +941,7 @@ struct altos_file {
 };
 
 static void
-altos_set_last_windows_error(void)
+_altos_set_last_windows_error(char *file, int line)
 {
        DWORD   error = GetLastError();
        TCHAR   message[1024];
@@ -952,9 +952,13 @@ altos_set_last_windows_error(void)
                      message,
                      sizeof (message) / sizeof (TCHAR),
                      NULL);
+       if (error != ERROR_SUCCESS)
+               printf ("%s:%d %s\n", file, line, message);
        altos_set_last_error(error, message);
 }
 
+#define altos_set_last_windows_error() _altos_set_last_windows_error(__FILE__, __LINE__)
+
 PUBLIC struct altos_list *
 altos_list_start(void)
 {
@@ -1161,6 +1165,7 @@ altos_flush(struct altos_file *file)
                if (!WriteFile(file->handle, data, used, &put, &file->ov_write)) {
                        if (GetLastError() != ERROR_IO_PENDING) {
                                altos_set_last_windows_error();
+                               printf ("\tflush write error\n");
                                return LIBALTOS_ERROR;
                        }
                        ret = WaitForSingleObject(file->ov_write.hEvent, INFINITE);
@@ -1168,11 +1173,13 @@ altos_flush(struct altos_file *file)
                        case WAIT_OBJECT_0:
                                if (!GetOverlappedResult(file->handle, &file->ov_write, &put, FALSE)) {
                                        altos_set_last_windows_error();
+                                       printf ("\tflush result error\n");
                                        return LIBALTOS_ERROR;
                                }
                                break;
                        default:
                                altos_set_last_windows_error();
+                               printf ("\tflush wait error\n");
                                return LIBALTOS_ERROR;
                        }
                }
@@ -1188,7 +1195,6 @@ altos_open(struct altos_device *device)
 {
        struct altos_file       *file = calloc (1, sizeof (struct altos_file));
        char    full_name[64];
-       DCB dcbSerialParams = {0};
        COMMTIMEOUTS timeouts;
 
        if (!file)
@@ -1201,6 +1207,7 @@ altos_open(struct altos_device *device)
                                  FILE_FLAG_OVERLAPPED, NULL);
        if (file->handle == INVALID_HANDLE_VALUE) {
                altos_set_last_windows_error();
+               printf ("cannot open %s\n", full_name);
                free(file);
                return NULL;
        }
@@ -1214,24 +1221,6 @@ altos_open(struct altos_device *device)
        timeouts.WriteTotalTimeoutConstant = 0;
        SetCommTimeouts(file->handle, &timeouts);
 
-       dcbSerialParams.DCBlength = sizeof(dcbSerialParams);
-       if (!GetCommState(file->handle, &dcbSerialParams)) {
-               altos_set_last_windows_error();
-               CloseHandle(file->handle);
-               free(file);
-               return NULL;
-       }
-       dcbSerialParams.BaudRate = CBR_9600;
-       dcbSerialParams.ByteSize = 8;
-       dcbSerialParams.StopBits = ONESTOPBIT;
-       dcbSerialParams.Parity = NOPARITY;
-       if (!SetCommState(file->handle, &dcbSerialParams)) {
-               altos_set_last_windows_error();
-               CloseHandle(file->handle);
-               free(file);
-               return NULL;
-       }
-
        return file;
 }
 
@@ -1241,6 +1230,10 @@ altos_close(struct altos_file *file)
        if (file->handle != INVALID_HANDLE_VALUE) {
                CloseHandle(file->handle);
                file->handle = INVALID_HANDLE_VALUE;
+               SetEvent(file->ov_read.hEvent);
+               SetEvent(file->ov_write.hEvent);
+               CloseHandle(file->ov_read.hEvent);
+               CloseHandle(file->ov_write.hEvent);
        }
 }
 
index 7bb0136b79678d8218dbad96e05a7d028c2b3d1d..cb765e1ed916ef37f54a4951e0a28d417ce1191f 100644 (file)
@@ -72,7 +72,7 @@ AC_SUBST(JVM_INCLUDE)
 
 AC_ARG_WITH(android, AS_HELP_STRING([--with-android=PATH],
        [Set android SDK path (default searches in a variety of places)]),
-       [ANDROID_SDK=$withval], [ANDROID_SDK=auto])
+       [ANDROID_SDK=$withval], [ANDROID_SDK=${ANDROID_SDK:-auto}])
 
 echo ANDROID_SDK set to $ANDROID_SDK