summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBdale Garbee <bdale@gag.com>2012-09-12 00:26:21 -0600
committerBdale Garbee <bdale@gag.com>2012-09-12 00:26:21 -0600
commit69d42b26223b45df4167aa3baafba100ad71baab (patch)
tree5da4043832b8bfc151b65f58d22c22ca61f8c766
parent3e9078cb1077e7ad0d845f10c2ad0a007df76d29 (diff)
parent3fa5fbdfd1ab257028f272fbc32759b39608ddaf (diff)
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
-rw-r--r--altosui/Makefile.am2
-rw-r--r--altosui/altos-windows.nsi5
-rw-r--r--altosui/libaltos/libaltos.c33
-rw-r--r--configure.ac2
4 files changed, 20 insertions, 22 deletions
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