Compare commits
6 Commits
ethstream-
...
master
Author | SHA1 | Date | |
---|---|---|---|
42d83649be | |||
df740e3e00 | |||
c2f43c474b | |||
893debb361 | |||
![]() |
0b1ad7415d | ||
![]() |
ba2565dc0e |
7
.gitignore
vendored
7
.gitignore
vendored
|
@ -1,3 +1,10 @@
|
|||
ethstream
|
||||
ethstream.1
|
||||
ethstream.txt
|
||||
ethstream.exe
|
||||
*.obj
|
||||
*.d
|
||||
*.dobj
|
||||
*.o
|
||||
|
||||
|
||||
|
|
4
README
4
README
|
@ -1,6 +1,8 @@
|
|||
Labjack/Nerdjack Tools
|
||||
by Jim Paris <jim@jtan.com>
|
||||
with modifications by Zach Clifford <zacharyc@mit.edu>
|
||||
with modifications by
|
||||
Zach Clifford <zacharyc@mit.edu>
|
||||
John Donnal <jdonnal@mit.edu>
|
||||
|
||||
These tools are for interacting with the LabJack UE9 or the NerdJack
|
||||
over the Ethernet interface. More information about the UE9 device:
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#include <stdio.h>
|
||||
#include "compat.h"
|
||||
#include <windows.h>
|
||||
#include "errno.h"
|
||||
|
||||
unsigned int sleep(unsigned int seconds)
|
||||
{
|
||||
|
|
3
compat.h
3
compat.h
|
@ -5,9 +5,6 @@
|
|||
unsigned int sleep(unsigned int seconds);
|
||||
char *compat_strerror(int errnum);
|
||||
//const char *inet_ntop(int af, void *src, const char *dst, socklen_t cnt);
|
||||
#define INET_ADDRSTRLEN 16
|
||||
#define ETIMEDOUT 110
|
||||
#define ENOTCONN 107
|
||||
#else
|
||||
#define compat_strerror strerror
|
||||
#endif
|
||||
|
|
27
ethstream.c
27
ethstream.c
|
@ -82,11 +82,33 @@ int data_callback(int channels, int *channel_list, int gain_count, int *gain_li
|
|||
uint16_t * data, void *context);
|
||||
|
||||
int columns_left = 0;
|
||||
|
||||
////////EXTRA GLOBAL VARS///////////
|
||||
// for clean shutdown //
|
||||
// added by John Donnal 2015 //
|
||||
////////////////////////////////////
|
||||
int fd_cmd, fd_data;
|
||||
int ue9_running = 0; //flag if labjack is currently streaming data
|
||||
|
||||
void handle_sig(int sig)
|
||||
{
|
||||
while (columns_left--) {
|
||||
printf(" 0");
|
||||
}
|
||||
|
||||
/******************************************************
|
||||
* added by John Donnal 2015 *
|
||||
* Close out connection to LabJack, firmware glitches *
|
||||
* if the stream is not closed correctly *
|
||||
******************************************************/
|
||||
if(ue9_running==1){
|
||||
printf("Performing clean shutdown of LabJack\n");
|
||||
ue9_stream_stop(fd_cmd);
|
||||
ue9_buffer_flush(fd_cmd);
|
||||
ue9_close(fd_data);
|
||||
ue9_close(fd_cmd);
|
||||
}
|
||||
/******************************************************/
|
||||
fflush(stdout);
|
||||
exit(0);
|
||||
}
|
||||
|
@ -314,6 +336,7 @@ int main(int argc, char *argv[])
|
|||
case 'V':
|
||||
printf("ethstream " VERSION "\n");
|
||||
printf("Written by Jim Paris <jim@jtan.com>\n");
|
||||
printf("and John Donnal <jdonnal@mit.edu>\n");
|
||||
printf("and Zachary Clifford <zacharyc@mit.edu>.\n");
|
||||
printf("This program comes with no warranty and is "
|
||||
"provided under the GPLv2.\n");
|
||||
|
@ -660,7 +683,7 @@ doStream(const char *address, uint8_t scanconfig, uint16_t scaninterval,
|
|||
int convert, int lines)
|
||||
{
|
||||
int retval = -EAGAIN;
|
||||
int fd_cmd, fd_data;
|
||||
// int fd_cmd, fd_data; *these are now globals so sighandler can use them*
|
||||
int ret;
|
||||
static int first_call = 1;
|
||||
struct callbackInfo ci = {
|
||||
|
@ -730,6 +753,7 @@ doStream(const char *address, uint8_t scanconfig, uint16_t scaninterval,
|
|||
}
|
||||
|
||||
/* Stream data */
|
||||
ue9_running = 1;
|
||||
ret =
|
||||
ue9_stream_data(fd_data, channel_count, channel_list, gain_count, gain_list, data_callback, (void *)&ci);
|
||||
if (ret < 0) {
|
||||
|
@ -749,6 +773,7 @@ doStream(const char *address, uint8_t scanconfig, uint16_t scaninterval,
|
|||
out1:
|
||||
ue9_close(fd_cmd);
|
||||
out:
|
||||
ue9_running = 0;
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user