Cast tube base station
Dependencies: EALib USBDevice mbed
ByteOperations.cpp@1:240b94a8d002, 2016-01-05 (annotated)
- Committer:
- BPPearson
- Date:
- Tue Jan 05 16:46:47 2016 +0000
- Revision:
- 1:240b94a8d002
- Parent:
- 0:e559b5160d84
Cast tube base station
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
BPPearson | 0:e559b5160d84 | 1 | #include "ByteOperations.h" |
BPPearson | 0:e559b5160d84 | 2 | #include <stdint.h> |
BPPearson | 0:e559b5160d84 | 3 | |
BPPearson | 0:e559b5160d84 | 4 | |
BPPearson | 0:e559b5160d84 | 5 | /* low index equals low nibble */ |
BPPearson | 0:e559b5160d84 | 6 | /* Write 32 bit var to 4 bytes */ |
BPPearson | 0:e559b5160d84 | 7 | void write_32_to_8(int *i, uint8_t dst[], uint32_t src){ |
BPPearson | 0:e559b5160d84 | 8 | dst[(*i)++] = (src >> 0)&0xFF ; |
BPPearson | 0:e559b5160d84 | 9 | dst[(*i)++] = (src >> 8)&0xFF ; |
BPPearson | 0:e559b5160d84 | 10 | dst[(*i)++] = (src >> 16)&0xFF; |
BPPearson | 0:e559b5160d84 | 11 | dst[(*i)++] = (src >> 24)&0xFF; |
BPPearson | 0:e559b5160d84 | 12 | } |
BPPearson | 0:e559b5160d84 | 13 | |
BPPearson | 0:e559b5160d84 | 14 | /* Write 16 bit var to 2 bytes */ |
BPPearson | 0:e559b5160d84 | 15 | void write_16_to_8(int *i, uint8_t dst[], uint16_t src){ |
BPPearson | 0:e559b5160d84 | 16 | dst[(*i)++] = (src >> 0)&0xFF ; |
BPPearson | 0:e559b5160d84 | 17 | dst[(*i)++] = (src >> 8)&0xFF ; |
BPPearson | 0:e559b5160d84 | 18 | } |
BPPearson | 0:e559b5160d84 | 19 | |
BPPearson | 0:e559b5160d84 | 20 | /* Write 4 bytes to 32 bit var*/ |
BPPearson | 0:e559b5160d84 | 21 | uint32_t read_8_to_32(int *i, uint8_t *src){ |
BPPearson | 0:e559b5160d84 | 22 | uint32_t data = 0; |
BPPearson | 0:e559b5160d84 | 23 | data |= (src[(*i)++] << 0) ; |
BPPearson | 0:e559b5160d84 | 24 | data |= (src[(*i)++] << 8) ; |
BPPearson | 0:e559b5160d84 | 25 | data |= (src[(*i)++] << 16); |
BPPearson | 0:e559b5160d84 | 26 | data |= (src[(*i)++] << 24); |
BPPearson | 0:e559b5160d84 | 27 | return data; |
BPPearson | 0:e559b5160d84 | 28 | } |
BPPearson | 0:e559b5160d84 | 29 | |
BPPearson | 0:e559b5160d84 | 30 | /* Write 2 bytes to 16 bit var*/ |
BPPearson | 0:e559b5160d84 | 31 | uint16_t read_8_to_16(int *i, uint8_t *src){ |
BPPearson | 0:e559b5160d84 | 32 | uint16_t data = 0; |
BPPearson | 0:e559b5160d84 | 33 | data |= (src[(*i)++] << 0) ; |
BPPearson | 0:e559b5160d84 | 34 | data |= (src[(*i)++] << 8) ; |
BPPearson | 0:e559b5160d84 | 35 | return data; |
BPPearson | 0:e559b5160d84 | 36 | } |
BPPearson | 0:e559b5160d84 | 37 |