File tree Expand file tree Collapse file tree 3 files changed +9
-7
lines changed
Expand file tree Collapse file tree 3 files changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -13,20 +13,20 @@ void setup() {
1313 Serial.println (" byteToHexString: fa->" +String (ByteConvert::byteToHexString (0xfa )));
1414
1515 uint8_t array1[] = {0xfa ,0xca ,0xde ,0xda };
16- Serial.println (" facadeda -> " +ByteConvert::arrayToString (array1, 4 ));
16+ Serial.println (" facadeda -> " +ByteConvert::arrayToString (4 ,array1 ));
1717
1818 size_t s2 = 0 ;
1919 uint8_t *array2 = ByteConvert::stringToArray (s2," bedababa" );
2020 Serial.println (" Size(bedababba): " +String (s2));
21- Serial.println (" bedababba -> " + ByteConvert::arrayToString (array2,s2 ));
21+ Serial.println (" bedababba -> " + ByteConvert::arrayToString (s2,array2 ));
2222
2323 delete array2;
2424
2525 int in = 5 ;
2626 Serial.println (" Orig: 5 -> " +String (in));
2727 size_t s3 = 0 ;
2828 uint8_t *array3 = ByteConvert::varToArray<int >(s3,in);
29- Serial.println (" ? -> " + ByteConvert::arrayToString (array3,s3 ));
29+ Serial.println (" 0005 -> " + ByteConvert::arrayToString (s3,array3 ));
3030 Serial.println (" 5 -> " + String (ByteConvert::arrayToVar<int >(array3)));
3131
3232 delete array3;
Original file line number Diff line number Diff line change @@ -25,18 +25,20 @@ namespace ByteConvert {
2525 return 16 *hexToVal (block.charAt (0 ))+hexToVal (block.charAt (1 ));
2626 }
2727
28- String arrayToString (uint8_t *src, size_t size ) {
28+ String arrayToString (size_t size, uint8_t *src) {
2929 String buffer = " " ;
3030 for (size_t i = 0 ;i < (size);i++)
3131 buffer += byteToHexString (src[i]);
3232 return buffer;
3333 }
3434 uint8_t * stringToArray (size_t &size,String src) {
35+ // Length of src must be odd !!
36+ if (src.length () % 2 == 1 )
37+ src = " 0" + src;
3538 size = src.length ()/2 ;
3639 uint8_t *dst = new uint8_t [size]; // Allocate memory space
3740 for (size_t i = 0 ;i < (size);i++)
3841 dst[i] = hexStringToByte (String (src.charAt (i*2 ))+String (src.charAt (i*2 +1 )));
39- Serial.println (arrayToString (dst,size));
4042 return dst;
4143 }
4244}
Original file line number Diff line number Diff line change @@ -17,7 +17,7 @@ namespace ByteConvert {
1717 template <class T >
1818 uint8_t *varToArray (size_t &size,T var) {
1919 size = sizeof (T)/sizeof (uint8_t );
20- uint8_t *array = new uint8_t [size];
20+ uint8_t *array = new uint8_t [size]; // Alocate memory
2121 for (size_t i = 0 ;i < size;i++) {
2222 if (i != 0 ) var >>= 8 ;
2323 array[size-1 -i] = (uint8_t )(var&0xff );
@@ -28,7 +28,7 @@ namespace ByteConvert {
2828 uint8_t hexToVal (char c);
2929 String byteToHexString (uint8_t b);
3030 uint8_t hexStringToByte (String block);
31- String arrayToString (uint8_t *src, size_t size );
31+ String arrayToString (size_t size, uint8_t *src);
3232 uint8_t * stringToArray (size_t &size,String src);
3333}
3434
You can’t perform that action at this time.
0 commit comments