From: Bdale Garbee Date: Wed, 12 Sep 2012 06:26:21 +0000 (-0600) Subject: Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos X-Git-Tag: 1.1~5 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=69d42b26223b45df4167aa3baafba100ad71baab;hp=3e9078cb1077e7ad0d845f10c2ad0a007df76d29 Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos --- diff --git a/altosui/Makefile.am b/altosui/Makefile.am index 9f75d5e3..04820294 100644 --- a/altosui/Makefile.am +++ b/altosui/Makefile.am @@ -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 diff --git a/altosui/altos-windows.nsi b/altosui/altos-windows.nsi index 986919d4..20dd65f0 100644 --- a/altosui/altos-windows.nsi +++ b/altosui/altos-windows.nsi @@ -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 diff --git a/altosui/libaltos/libaltos.c b/altosui/libaltos/libaltos.c index 515432f9..ab6ca878 100644 --- a/altosui/libaltos/libaltos.c +++ b/altosui/libaltos/libaltos.c @@ -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); } } diff --git a/configure.ac b/configure.ac index 7bb0136b..cb765e1e 100644 --- a/configure.ac +++ b/configure.ac @@ -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