void
normalized_dispatch_file(dispatch_data *dd, FILE *f) {
	struct timeval tv;
	rx_id rxid;
	uint8_t pktbytes[UINT8_MAX];

	while(1) {
		if(fscanf(f, HEADER_FORMAT_READ_STRING, &rxid, &tv.tv_sec, &tv.tv_usec) != 3)
			return;

		int idx = 0;
		int c;
		do {
			c = fgetc(f);
			int v;
			if(('0' <= c) && (c <= '9')) { v = c - '0'; }
			else { v = c - 'A' + 0xA; }

			if(!(idx & 1)) { v *= 0x10; pktbytes[idx/2] = 0; }
			pktbytes[idx/2] |= v;

			idx++;
		} while(c != -1 && c != '\n');

		dispatch_packets(dd, pktbytes, pktbytes[0], rxid, &tv);
	}
	fclose(f);
}
Exemple #2
0
void my_message_callback(void *obj, const struct mosquitto_message *message)
{
	struct timeval tv;
	int i;
	gettimeofday(&tv, NULL);
	
	uint8_t abc[16];
	char *temp = (char *) message->payload;
	
	for(i=2;i<18;i++)
		sscanf(&temp[i*2], "%2hhx", &abc[i-2]);
	
	uint8_t id[4];
	
	id[0] = 0x0;
	id[1] = 0x0;
	
	for(i=0;i<2;i++)
		sscanf(&temp[i*2], "%2hhx", &id[i+2]);
	
	dispatch_packets(local_dd, abc, 0x10, (uint32_t) id[3], &tv);
	fflush(stdout);
}