Skip to content

SPI/I2C keeps ref to FtInner, impossible to pass around once initialized #18

Closed
@fbeutel

Description

@fbeutel

As implemented currently, the SPI / I2C / OutputPin structs all keep references to Mutex<RefCell<FtInner<Device>>>.

This makes it difficult / impossible to have FtHal inside a Box or RefCell or otherwise pass it around once SPI has been initialized.
(It is possible, but then each time one would need to access the SPI functions of FtHal, this would require re-initializing the SPI object with Spi::new, which is inefficient as it sends the MPSSE command each time).

Would it be possible to create a shallow Spi::new (and accordingly for the other structs) which basically becomes a no-op if SPI has already been initialized? Or are there other ideas how one could solve this?

My use case is that I need to share FtHal between two devices (e.g. using a shared pointer), each of which live on the Heap and need to have access to the SPI port...

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions