M marcbu Member Licensed User Longtime User Jan 11, 2017 #1 Hello with serial bluetooth connection I try to transfer information to a microcontroller. Best would be to have same structure of data to work on both sides. For ex. I have following struct programmed in C language at microcontroller side: typedef struct { unsigned int ID; unsigned char len; union { unsigned char B[8]; unsigned int W[4]; } Data; } CANMessageDef; Inside b4a I try following structure: Code: Type CanMsgType (ID As Short, len, Data(8) As Byte) Dim myTypeVar As myType How can I send this via blue to have a byte stream with only valid bytes to copy direct at receiving side into the stucture? Data may have length from 0 to 8 bytes. All data should be byte aligned. I thought ConvertObjectToBytes will work for this, but wrong way! Is there any method to create union like data structures?
Hello with serial bluetooth connection I try to transfer information to a microcontroller. Best would be to have same structure of data to work on both sides. For ex. I have following struct programmed in C language at microcontroller side: typedef struct { unsigned int ID; unsigned char len; union { unsigned char B[8]; unsigned int W[4]; } Data; } CANMessageDef; Inside b4a I try following structure: Code: Type CanMsgType (ID As Short, len, Data(8) As Byte) Dim myTypeVar As myType How can I send this via blue to have a byte stream with only valid bytes to copy direct at receiving side into the stucture? Data may have length from 0 to 8 bytes. All data should be byte aligned. I thought ConvertObjectToBytes will work for this, but wrong way! Is there any method to create union like data structures?
Erel B4X founder Staff member Licensed User Longtime User Jan 11, 2017 #2 The structure will be formatted differently on different platforms. If you were using B4R to program the microcontroller then you could have used B4RSerializator. You need to use RandomAccessFile to write to the data to an array (RAF.Initialize3) and then send the array. You will need to read the data on the microcontroller and build the structure. Upvote 0
The structure will be formatted differently on different platforms. If you were using B4R to program the microcontroller then you could have used B4RSerializator. You need to use RandomAccessFile to write to the data to an array (RAF.Initialize3) and then send the array. You will need to read the data on the microcontroller and build the structure.