Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What modifications are required to enable FoE support in the EEPROM? #3

Open
DingdangDa opened this issue Mar 20, 2024 · 10 comments
Open

Comments

@DingdangDa
Copy link

Based on the information I have gathered, it seems that the supported mailbox protocols are located at the 0x1C position in the EEPROM

@kubabuda
Copy link
Owner

Yes, but not only - there is FoE flag in EEPROM and USE_FOE in options

@kubabuda
Copy link
Owner

I added 'Enable FoE' setting that should do it, let me know how it is working for you

@DingdangDa
Copy link
Author

Thank you. I'm using the FoE on SOEM and SOES. I need to modify the size of the boot mailbox to use FoE. It seems the enableFOE flag doesn't matter. If you have time, could you add a feature to set the size of the boot mailbox? This issue can now be closed.

@qiayuanl
Copy link

The mailbox address and mailbox length are also need to set int the EEPROM.

@kubabuda kubabuda reopened this Mar 23, 2024
@kubabuda
Copy link
Owner

OK, where exactly do we want to set it?

@qiayuanl
Copy link

image
Here we have the address and length. I set the boot mailbox address with a script and the FoE works! But there is some problem in files larger than 122 bytes.

@qiayuanl
Copy link

qiayuanl commented Mar 23, 2024

image Here we have the address and length. I set the boot mailbox address with a script and the FoE works! But there is some problem in files larger than 122 bytes.

The large file problem is solved by setting the boot mailbox and standard mailbox size to 128 bytes. I think it's because the AX58400 and AX58100 don't support mailboxes larger than 128 bytes. However, I can't find any document mentioned about the mailbox size of AX58400.

The following steps show how to use the EEPROM generator with FoE:

  • Set the TxMailbox Offset to 0x1080 and Tx AND Rx Mailbox Size to 128
  • Download the eeprom.hex and esc_option.h
  • Use a Python script to change eeprom.hex, set the boot mailbox address and length as the same as the standard mailbox.

@kubabuda
Copy link
Owner

kubabuda commented Mar 24, 2024

I can't find any document mentioned about the mailbox size of AX58400
For what I understand, ESC IP in AX58400 is really AX58100, I expect both to share mailbox size limit.

I made some changes:

  • when FoE is checked, Bootstrap Mailbox settings are populated with standard mailbox settings
  • when AX58100 is selected in UI, Mailbox Size is truncated to 128

If you can, test and let me know if this is enough.
Are any changes in ecat_options.h needed?

@qiayuanl
Copy link

When you change the Mailbox Size, the TxMailbox Offset may need to change at the same time, since we are computing the txmailbox in ecat_options.h like

#define MBX1_sma MBX0_sma+MBX0_sml

If not, our eeprom will not aligned with the ecat_options.h

@kubabuda
Copy link
Owner

kubabuda commented Mar 27, 2024

OK, we will pass TX mailbox offset directly in options.h instead - I initially copied how it was done in examples from SOES application, but it can be simpler

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants