Alejandro Ungria Hirte / GA-Test

Dependencies:   mbed-dev

Committer:
aungriah
Date:
Wed Dec 06 21:42:54 2017 +0000
Revision:
0:3333b6066adf
asfaf

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aungriah 0:3333b6066adf 1 // Lukas Bieri, Matthias, Manuel Meier & Noa Melchior
aungriah 0:3333b6066adf 2 // based on Work by Matthias Grob & Manuel Stalder
aungriah 0:3333b6066adf 3 // ETH 2017
aungriah 0:3333b6066adf 4
aungriah 0:3333b6066adf 5 #ifndef _FRAMES_H
aungriah 0:3333b6066adf 6 #define _FRAMES_H
aungriah 0:3333b6066adf 7
aungriah 0:3333b6066adf 8 //the packed attribute makes sure the types only use their respective size in memory (8 bit for uint8_t), otherwise they would always use 32 bit
aungriah 0:3333b6066adf 9 //IT IS A GCC SPECIFIC DIRECTIVE
aungriah 0:3333b6066adf 10 struct __attribute__((packed, aligned(1))) RangingFrame {
aungriah 0:3333b6066adf 11 uint8_t source;
aungriah 0:3333b6066adf 12 uint8_t destination;
aungriah 0:3333b6066adf 13 uint8_t type;
aungriah 0:3333b6066adf 14 };
aungriah 0:3333b6066adf 15
aungriah 0:3333b6066adf 16 struct __attribute__((packed, aligned(1))) ExtendedRangingFrame : RangingFrame{
aungriah 0:3333b6066adf 17 int signedTime;
aungriah 0:3333b6066adf 18 };
aungriah 0:3333b6066adf 19
aungriah 0:3333b6066adf 20 struct __attribute__((packed, aligned(1))) StreamFrame : RangingFrame{
aungriah 0:3333b6066adf 21 uint8_t anchor_adress;
aungriah 0:3333b6066adf 22 float distance;
aungriah 0:3333b6066adf 23 float signalStrength;
aungriah 0:3333b6066adf 24 float FPLevel;
aungriah 0:3333b6066adf 25 };
aungriah 0:3333b6066adf 26
aungriah 0:3333b6066adf 27 #endif /* _FRAMES_H */