Fram.write with float variable

In this case all you have to do is look at the function prototypes in the header file (Fram.h):

This obviously writes a 32-bit unsigned integer type:

  void     write32(uint16_t memAddr, uint32_t value);

And this obviously writes a float:

  void     writeFloat(uint16_t memAddr, float value);

If you want to write the entire struct, use:

  void     write(uint16_t memAddr, uint8_t * obj, uint16_t size);

Of course, there's are corresponding "read" function for each of the "write" functions.