#include <iostream>
#include <string.h>
struct StructRelayModule {
int mac_peer01[6];
int mac_peer02[6];
int amPBas01;
int RTM01;
int LightThreshold;
int amPBasJL;
int JLStartH;
int JLEndH;
bool PirInd01;
bool RelayInd01;
int CountDown01;
float LightLevel; // this can be also an integer
bool JapLampInd;
};
StructRelayModule TXrelay;
StructRelayModule RXrelay;
int main()
{
TXrelay.LightThreshold = 123;
TXrelay.PirInd01 = true;
size_t size = sizeof( StructRelayModule );
uint8_t array[size];
printf( "serialized :\n" );
memcpy( array, &TXrelay, size );
for ( size_t i = 0; i < size; i++ )
{
printf( "array[%d] = %d\n", i, array[i] );
}
printf( "\ndeserialized :\n" );
memcpy( &RXrelay, array, size );
printf( "RXrelay.LightThreshold = %d\n", RXrelay.LightThreshold );
printf( "RXrelay.PirInd01 = %d\n", RXrelay.PirInd01 );
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nLmg+CgpzdHJ1Y3QgU3RydWN0UmVsYXlNb2R1bGUgewogICAgaW50IG1hY19wZWVyMDFbNl07ICAgICAKICAgIGludCBtYWNfcGVlcjAyWzZdOyAgICAgCiAgICBpbnQgYW1QQmFzMDE7ICAgICAgICAgICAgICAgCiAgICBpbnQgUlRNMDE7CiAgICBpbnQgTGlnaHRUaHJlc2hvbGQ7CiAgICBpbnQgYW1QQmFzSkw7CiAgICBpbnQgSkxTdGFydEg7CiAgICBpbnQgSkxFbmRIOwogICAgYm9vbCBQaXJJbmQwMTsgCiAgICBib29sIFJlbGF5SW5kMDE7CiAgICBpbnQgQ291bnREb3duMDE7ICAKICAgIGZsb2F0IExpZ2h0TGV2ZWw7ICAgICAvLyB0aGlzIGNhbiBiZSBhbHNvIGFuIGludGVnZXIKICAgIGJvb2wgSmFwTGFtcEluZDsgICAgICAgCn07ClN0cnVjdFJlbGF5TW9kdWxlIFRYcmVsYXk7ClN0cnVjdFJlbGF5TW9kdWxlIFJYcmVsYXk7CgppbnQgbWFpbigpCnsKCVRYcmVsYXkuTGlnaHRUaHJlc2hvbGQgPSAxMjM7CglUWHJlbGF5LlBpckluZDAxID0gdHJ1ZTsKCQoJc2l6ZV90IHNpemUgPSBzaXplb2YoIFN0cnVjdFJlbGF5TW9kdWxlICk7Cgl1aW50OF90IGFycmF5W3NpemVdOwoJCglwcmludGYoICJzZXJpYWxpemVkIDpcbiIgKTsKCW1lbWNweSggYXJyYXksICZUWHJlbGF5LCBzaXplICk7Cglmb3IgKCBzaXplX3QgaSA9IDA7IGkgPCBzaXplOyBpKysgKQoJewoJCXByaW50ZiggImFycmF5WyVkXSA9ICVkXG4iLCBpLCBhcnJheVtpXSApOwoJfQoJCglwcmludGYoICJcbmRlc2VyaWFsaXplZCA6XG4iICk7CgltZW1jcHkoICZSWHJlbGF5LCBhcnJheSwgc2l6ZSApOwoJcHJpbnRmKCAiUlhyZWxheS5MaWdodFRocmVzaG9sZCA9ICVkXG4iLCBSWHJlbGF5LkxpZ2h0VGhyZXNob2xkICk7CglwcmludGYoICJSWHJlbGF5LlBpckluZDAxID0gJWRcbiIsIFJYcmVsYXkuUGlySW5kMDEgKTsKCglyZXR1cm4gMDsKfQ==