Jeroen Lodder / Mbed 2 deprecated SteppermotorBoard

Dependencies:   USBDevice mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ByteOperations.cpp Source File

ByteOperations.cpp

00001 #include "ByteOperations.h"
00002 #include <stdint.h>
00003 
00004 
00005 /* low index equals low nibble */
00006 /* Write 32 bit var to 4 bytes */
00007 void write_32_to_8(int *i, uint8_t dst[], uint32_t src){
00008     dst[(*i)++] = (src >> 0)&0xFF ;
00009     dst[(*i)++] = (src >> 8)&0xFF ;
00010     dst[(*i)++] = (src >> 16)&0xFF;
00011     dst[(*i)++] = (src >> 24)&0xFF;
00012 }
00013 
00014 /* Write 16 bit var to 2 bytes */
00015 void write_16_to_8(int *i, uint8_t dst[], uint16_t src){
00016     dst[(*i)++] = (src >> 0)&0xFF ;
00017     dst[(*i)++] = (src >> 8)&0xFF ;
00018 }
00019 
00020 /* Write 4 bytes to 32 bit var*/
00021 uint32_t read_8_to_32(int *i, uint8_t *src){
00022     uint32_t data = 0;
00023     data |= (src[(*i)++] << 0) ; 
00024     data |= (src[(*i)++] << 8) ; 
00025     data |= (src[(*i)++] << 16); 
00026     data |= (src[(*i)++] << 24); 
00027     return data;
00028 }
00029 
00030 /* Write 2 bytes to 16 bit var*/
00031 uint16_t read_8_to_16(int *i, uint8_t *src){
00032     uint16_t data = 0;
00033     data |= (src[(*i)++] << 0) ;
00034     data |= (src[(*i)++] << 8) ;
00035     return data;
00036 }
00037