SiliconLabs / wfx-fullMAC-driver

Silicon Laboratories WFx Wi-Fi Full-MAC driver
23 stars 9 forks source link

sl_wfx download_run_firmware Get register functionality? #16

Open kevlar700 opened 1 year ago

kevlar700 commented 1 year ago

Could you please point to the documentation around the WFM200 GET register or explain the point of line 2255 of file? wfx-fullMAC-driver/blob/master/wfx_fmac_driver/sl_wfx.c

"https://github.com/SiliconLabs/wfx-fullMAC-driver/blob/84c8cb0843fe0763eb83c00c6acc423644cdf193/wfx_fmac_driver/sl_wfx.c#L2255C8-L2255C8"

Perhaps some extra code comments would be useful?

Thank You

silabs-JulienT commented 1 year ago

The WF200 register documentation can be found below. https://docs.silabs.com/wifi/wf200/rtos/latest/wf200-registers

The driver checks if there is enough space in the FIFO to send the next firmware chunks.

kevlar700 commented 1 year ago

The WF200 register documentation can be found below. https://docs.silabs.com/wifi/wf200/rtos/latest/wf200-registers

I fail to find any reference to the GET functionality being used?

The driver checks if there is enough space in the FIFO to send the next firmware chunks.

Okay, yet we know how big the FIFO is in the first place, don't we?

Or perhaps the address may have been corrupted. AFAICT the GET functionality does not appear to be described? Bytes received? I would prefer not to guess. Assuming that then it is likely setting up for the following if statement check for some bytes not having been received before sending the last chunk.

silabs-JulienT commented 1 year ago

The configuration register comes into play in the sl_wfx_apb_read_32() implementation. https://github.com/SiliconLabs/wfx-fullMAC-driver/blob/84c8cb0843fe0763eb83c00c6acc423644cdf193/wfx_fmac_driver/bus/sl_wfx_bus.c#L170

Okay, yet we know how big the FIFO is in the first place. Or perhaps the address may have been corrupted. AFAICT the GET functionality does not appear to be described?

The driver checks if the previous firmware chunks have been processed by the WF200 firmware.

kevlar700 commented 1 year ago

The configuration register comes into play in the sl_wfx_apb_read_32() implementation.

I do not see your point beyond the configuration register controlling direct mode?

The driver checks if the previous firmware chunks have been processed by the WF200 firmware.

Thank you. So GET is bytes received but is currently undocumented?