# Why is the input parameter has 2 addresses?

**URL:** <https://discuss.pynq.io/t/why-is-the-input-parameter-has-2-addresses/3197>\
**Category:** Support\
**Created:** [October 26, 2021, 3:05pm UTC](https://discuss.pynq.io/t/why-is-the-input-parameter-has-2-addresses/3197 "2021-10-26T15:05:23Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![marioruiz](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/marioruiz/32/2177_2.png) [@marioruiz](https://discuss.pynq.io/u/marioruiz)\
**Post date:** [October 27, 2021, 11:44am UTC](https://discuss.pynq.io/t/why-is-the-input-parameter-has-2-addresses/3197/4 "2021-10-27T11:44:29Z")

</div>

The AXI4-Lite interface by default uses 32-bit width data path.  
You will have to write the LSB and MSB parts of the `lmbda` and `pobj` register from python to the corresponding register.

Note that PYNQ does not support floating values in the register map, you will have to make sure to write the correct double precision representation value.

> [@Unable to read back floating-point values when using MMIO read](https://discuss.pynq.io/t/unable-to-read-back-floating-point-values-when-using-mmio-read/2519/2):
>
> There are a couple of ways of reading/writing floats. One is convert to/from an integer in your code: f = struct.unpack('f', struct.pack('I', device.read(0x20)))[0] Alternatively you can cast the entire address space to an array of float and access the registers through that: equivalently ar = device.mmio.array.view('f') f = ar[0x8] Note that in this second way you need use indexes in the array rather than addresses. You should also do something similar for writing floating point values - .…

Mario

---

_[View the full topic](https://discuss.pynq.io/t/why-is-the-input-parameter-has-2-addresses/3197)._
