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

Request for IDeviceSettings::setCANFDMode( bool enabled, bool iso = true ) for setting CANFD_SETTINGS::FDMode method. #37

Open
3electrons opened this issue Jun 16, 2021 · 2 comments

Comments

@3electrons
Copy link

3electrons commented Jun 16, 2021

I have only CanValue4 Industrial and standard CanValue4 on my desk.

So not really sure if all type of devices might use the same settings for FDMode in CANFD_SETTINGS.
Possible values are:

NO_CANFD,
CANFD_ENABLED,           // Seems not to be used by IVneo Explorer for my devices
CANFD_BRS_ENABLED,
CANFD_ENABLED_ISO,    // Seems not be  used by IVneo Explorer for my devices
CANFD_BRS_ENABLED_ISO

Question is if CANFD_ENABLED can be used in some older or different devices?
Hence possibly having nice method for setting FDMode might be good idea.

Maybe something like:
bool IDeviceSettings::setCANFDMode( bool enabled, bool iso = true)
void IDeviceSettings::getCANFDMode( bool & enabled, bool & iso)

As currently the only way I found to switch CANFD mode is by:

dev->settings->getMutableCANFDSettingsFor(myNetwork)->FDMode = myMode;
setting one of { NO_CANFD, CANFD_BRS_ENABLED, CANFD_BRS_ENABLED_ISO}

Adding use case to interactive example might be an good idea too.

@3electrons 3electrons changed the title Request for CANFD_SETTINGS::FDMode method. Request for IDeviceSettings::setCANFDMode( bool enabled, bool iso = true ) for setting CANFD_SETTINGS::FDMode method. Jun 16, 2021
@hollinsky-intrepid
Copy link
Contributor

All of this is correct. 99% of customers will never need to change this setting from the default CANFD_BRS_ENABLED_ISO as

  1. BRS can be controlled on a per-message basis instead (I'm not positive how this setting affects reception of BRS messages)
  2. Non-ISO CAN FD does not see much use (if any at all) now that everyone has ISO compliant silicon

But we can have a getter/setter for this if you have some use for it.

@3electrons
Copy link
Author

My concern was, what If somebody use the code against some older interpidcs hardware that actually does not support ISO or BRS for example.

What I checked is that whatever you set to FDMode (0xf0 for example) it is:

  • not reported as warning or error (using setter may prevent doing silly things)
  • somehow interpreted (IVneo exporer - interpreted it as FD enabled but without ISO)
  • left in the memory of devices as written. (Read of config gives the same 0xf0 value)

Hence the only reasonable concern left is:

  • Will it not crash other devices or cause malfunction of it? (Mine devices are working fine)
    If not - believe there is no need to implement anything and we can close the issue.

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

2 participants