nasa-jpl / jsd

Just SOEM Drivers
Other
18 stars 17 forks source link

Davkim add el6001 #71

Open davidinkyu-kim opened 1 year ago

davidinkyu-kim commented 1 year ago

Added jsd_el6001 driver

alex-brinkman commented 1 year ago

@davidinkyu-kim What is the status of this driver - is it ready to do a final round of testing and merge or should we take it back to draft status?

davidinkyu-kim commented 1 year ago

I think we are pending on loopback test: to test Tx/Rx latency, which would be not critical at the moment. Would it be okay to be merge the current, and add/test loopback later to be minor revision?

alex-brinkman commented 1 year ago

Let's wait until the loopback test can be completed to merge, else it may get forgotten. Do you need help with it? If you can help me find a spare EL6001 module, I'll offer to test it.

davidinkyu-kim commented 1 year ago

@alex-brinkman loopback test has been done. Confirmed that we can transmit/receive at one loop cycle persistently.

alex-brinkman commented 1 year ago

I don't understand what is meant by persistence in the transmit cycle, can you explain that? This is probably related to the jsd_el6001_set_persistence_data API call.

davidinkyu-kim commented 1 year ago

Persistent transmit can be set on public function call, making terminal to persistently send out current outgoing buffer every cycle. If not set, jsd_el6001 internal state machine will cycle between TRANSMIT_REQUEST_FROM_USER and TRANSMIT_CONFIRMATION, which will take 2 cycles per 1 packet transmission. If set, jsd_el6001 state machine will hang in TRANSMIT_REQUEST_FROM_USER and skip the confirmation of transmission, enabling the device to send out the packet every control loop cycle.

davidinkyu-kim commented 1 year ago

@alex-brinkman Thank you for the feedback. I've pushed few commits, would appreciate if you can review them.