Easy enough (and educational) to understand float encodings: https://float.exposed/0x40066666
If you right-click and Go to Definition on that get call, is it meaningfully different than what I have handy for R4:
template< typename T > T &get( int idx, T &t ){
EEPtr e = idx;
uint8_t *ptr = (uint8_t*) &t;
for( int count = sizeof(T) ; count ; --count, ++e ) *ptr++ = *e;
return t;
}
which reads one byte at a time anyway?