First class data visualization and communication library with embedded devices. Code is maintained at github.com/Overdrivr/Telemetry

Dependents:   telemetry_car_demo telemetry_demo_FRDM-TFC telemetry_example_01 telemetry_indexed_data_demo ... more

Committer:
Overdrivr
Date:
Tue Apr 12 07:40:10 2016 +0000
Revision:
7:d224bddd5405
Release 2.0.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Overdrivr 7:d224bddd5405 1 #ifndef TELEMETRY_DICTIONNARY_H_
Overdrivr 7:d224bddd5405 2 #define TELEMETRY_DICTIONNARY_H_
Overdrivr 7:d224bddd5405 3
Overdrivr 7:d224bddd5405 4 #include "stdint.h"
Overdrivr 7:d224bddd5405 5
Overdrivr 7:d224bddd5405 6
Overdrivr 7:d224bddd5405 7 enum ptr_type {
Overdrivr 7:d224bddd5405 8 ptr_f32 = 0,
Overdrivr 7:d224bddd5405 9 ptr_u8 = 1,
Overdrivr 7:d224bddd5405 10 ptr_u16 = 2,
Overdrivr 7:d224bddd5405 11 ptr_u32 = 3,
Overdrivr 7:d224bddd5405 12 ptr_i8 = 4,
Overdrivr 7:d224bddd5405 13 ptr_i16 = 5,
Overdrivr 7:d224bddd5405 14 ptr_i32 = 6,
Overdrivr 7:d224bddd5405 15 ptr_function = 8
Overdrivr 7:d224bddd5405 16 };
Overdrivr 7:d224bddd5405 17
Overdrivr 7:d224bddd5405 18 typedef enum ptr_type ptr_type;
Overdrivr 7:d224bddd5405 19
Overdrivr 7:d224bddd5405 20 struct nlist { /* table entry: */
Overdrivr 7:d224bddd5405 21 struct nlist *next; /* next entry in chain */
Overdrivr 7:d224bddd5405 22 char * key;
Overdrivr 7:d224bddd5405 23
Overdrivr 7:d224bddd5405 24 // Table can store for a given key all following pointers
Overdrivr 7:d224bddd5405 25 float * ptr_f32;
Overdrivr 7:d224bddd5405 26 uint8_t * ptr_u8;
Overdrivr 7:d224bddd5405 27 uint16_t * ptr_u16;
Overdrivr 7:d224bddd5405 28 uint32_t * ptr_u32;
Overdrivr 7:d224bddd5405 29 int8_t * ptr_i8;
Overdrivr 7:d224bddd5405 30 int16_t * ptr_i16;
Overdrivr 7:d224bddd5405 31 int32_t * ptr_i32;
Overdrivr 7:d224bddd5405 32 void * ptr_function;
Overdrivr 7:d224bddd5405 33 };
Overdrivr 7:d224bddd5405 34
Overdrivr 7:d224bddd5405 35 #define HASHSIZE 101
Overdrivr 7:d224bddd5405 36
Overdrivr 7:d224bddd5405 37 void init_table(struct nlist ** hashtab);
Overdrivr 7:d224bddd5405 38
Overdrivr 7:d224bddd5405 39 /* lookup: look for s in hashtab */
Overdrivr 7:d224bddd5405 40 struct nlist * lookup(struct nlist ** hashtab, const char * key);
Overdrivr 7:d224bddd5405 41
Overdrivr 7:d224bddd5405 42 struct nlist * install(struct nlist ** hashtab, const char * key, void * ptr, ptr_type type);
Overdrivr 7:d224bddd5405 43
Overdrivr 7:d224bddd5405 44 #endif