Commit 627a1bf2 by zacharyc

Slight bit of code cleanup. More to come


git-svn-id: https://bucket.mit.edu/svn/nilm/acquisition/ethstream@7254 ddd99763-3ecb-0310-9145-efcb8ce7c51f
parent 43c8e19c
Showing with 11 additions and 21 deletions
...@@ -379,6 +379,7 @@ int nerdDoStream(const char *address, int *channel_list, int channel_count, int ...@@ -379,6 +379,7 @@ int nerdDoStream(const char *address, int *channel_list, int channel_count, int
//to resume the interrupted transmission //to resume the interrupted transmission
first_call = 0; first_call = 0;
//If we had a transmission in progress, send a command to resume from there
if(currentcount != 0) { if(currentcount != 0) {
char cmdbuf[10]; char cmdbuf[10];
sprintf(cmdbuf,"SETC%05hd",currentcount); sprintf(cmdbuf,"SETC%05hd",currentcount);
......
...@@ -27,6 +27,12 @@ ...@@ -27,6 +27,12 @@
#define NERDJACK_TIMEOUT 5 /* Timeout for connect/send/recv, in seconds */ #define NERDJACK_TIMEOUT 5 /* Timeout for connect/send/recv, in seconds */
//Struct holding information about how channels should be reordered for output
typedef struct {
int numCopies;
int * destlist;
} deststruct;
/* Choose the best ScanConfig and ScanInterval parameters for the /* Choose the best ScanConfig and ScanInterval parameters for the
desired scanrate. Returns -1 if no valid config found */ desired scanrate. Returns -1 if no valid config found */
int nerdjack_choose_scan(double desired_rate, double *actual_rate, int *period) int nerdjack_choose_scan(double desired_rate, double *actual_rate, int *period)
...@@ -120,11 +126,6 @@ int nerdjack_detect(char * ipAddress) { ...@@ -120,11 +126,6 @@ int nerdjack_detect(char * ipAddress) {
return 0; return 0;
} }
typedef struct {
int numCopies;
int * destlist;
} deststruct;
int nerd_send_command(const char * address, char * command) int nerd_send_command(const char * address, char * command)
{ {
int ret,fd_command; int ret,fd_command;
...@@ -161,6 +162,7 @@ int nerd_send_command(const char * address, char * command) ...@@ -161,6 +162,7 @@ int nerd_send_command(const char * address, char * command)
return 0; return 0;
} }
//Initialize the channel structure to distill how data should be displayed
static int nerd_init_channels(deststruct * destination, int numChannels, int *channel_list) { static int nerd_init_channels(deststruct * destination, int numChannels, int *channel_list) {
int channels_left = numChannels; int channels_left = numChannels;
...@@ -208,7 +210,6 @@ int nerd_data_stream(int data_fd, int numChannels, int *channel_list, int precis ...@@ -208,7 +210,6 @@ int nerd_data_stream(int data_fd, int numChannels, int *channel_list, int precis
{ {
//Variables that should persist across retries //Variables that should persist across retries
static unsigned char buf[NERDJACK_PACKET_SIZE]; static unsigned char buf[NERDJACK_PACKET_SIZE];
//static int charsleft = NERDJACK_PACKET_SIZE;
static int linesleft = 0; static int linesleft = 0;
int index = 0; int index = 0;
...@@ -250,25 +251,11 @@ int nerd_data_stream(int data_fd, int numChannels, int *channel_list, int precis ...@@ -250,25 +251,11 @@ int nerd_data_stream(int data_fd, int numChannels, int *channel_list, int precis
//We want a complete packet, so take the chars so far and keep waiting //We want a complete packet, so take the chars so far and keep waiting
if(charsread != NERDJACK_PACKET_SIZE) { if(charsread != NERDJACK_PACKET_SIZE) {
//charsleft = NERDJACK_PACKET_SIZE - charsread;
//There was a problem getting data. Probably a closed //There was a problem getting data. Probably a closed
//connection. Stash the data we did get, save state, and hope //connection.
//to get it later
info("Packet was too short\n"); info("Packet was too short\n");
return -2; return -2;
/*
charsleft = NERDJACK_PACKET_SIZE - charsread;
while(charsleft != 0){
additionalread = recv_all_timeout(data_fd,buf+charsread,charsleft,0,
& (struct timeval) { .tv_sec = NERDJACK_TIMEOUT });
charsread = charsread + additionalread;
charsleft = NERDJACK_PACKET_SIZE - charsread;
} }
*/
}
//charsleft = NERDJACK_PACKET_SIZE;
//First check the header info //First check the header info
if(buf[0] != 0xF0 || buf[1] != 0xAA) { if(buf[0] != 0xF0 || buf[1] != 0xAA) {
...@@ -300,6 +287,7 @@ int nerd_data_stream(int data_fd, int numChannels, int *channel_list, int precis ...@@ -300,6 +287,7 @@ int nerd_data_stream(int data_fd, int numChannels, int *channel_list, int precis
} }
//While there is still more data in the packet, process it //While there is still more data in the packet, process it
//use the destination structure to load the line before printing
while(charsread > index) { while(charsread > index) {
datapoint = (buf[index] << 8 | buf[index+1]); datapoint = (buf[index] << 8 | buf[index+1]);
switch(convert) { switch(convert) {
...@@ -428,6 +416,7 @@ int nerd_open(const char *address,int port) { ...@@ -428,6 +416,7 @@ int nerd_open(const char *address,int port) {
return i32SocketFD; return i32SocketFD;
} }
//Generate an appropriate sample initiation command
int nerd_generate_command(char * command, int * channel_list, int channel_count, int precision, int nerd_generate_command(char * command, int * channel_list, int channel_count, int precision,
unsigned short period) { unsigned short period) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment