Title: Prevent storing of SDO write data in local store when using callbacks in LocalNode · Issue #598 · canopen-python/canopen · GitHub
Open Graph Title: Prevent storing of SDO write data in local store when using callbacks in LocalNode · Issue #598 · canopen-python/canopen
X Title: Prevent storing of SDO write data in local store when using callbacks in LocalNode · Issue #598 · canopen-python/canopen
Description: It is possible to create a custom SDO reader when using LocalNode. If this function returns anything else than None this value will be used as a response to the remote client. canopen/canopen/node/local.py Lines 79 to 83 in 09f6e9e # Try...
Open Graph Description: It is possible to create a custom SDO reader when using LocalNode. If this function returns anything else than None this value will be used as a response to the remote client. canopen/canopen/node/...
X Description: It is possible to create a custom SDO reader when using LocalNode. If this function returns anything else than None this value will be used as a response to the remote client. canopen/canopen/node/...
Opengraph URL: https://github.com/canopen-python/canopen/issues/598
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Prevent storing of SDO write data in local store when using callbacks in LocalNode","articleBody":"It is possible to create a custom SDO reader when using `LocalNode`. If this function returns anything else than `None` this value will be used as a response to the remote client.\n\nhttps://github.com/canopen-python/canopen/blob/09f6e9e8e9497108790328aed9839f2552acdbae/canopen/node/local.py#L79-L83\n\nHowever, this is not the case on SDO write. There is callbacks that can be used to deliver the value to a custom system. There is, however, no ability to prevent it from storing the data in its data store.\n\nhttps://github.com/canopen-python/canopen/blob/09f6e9e8e9497108790328aed9839f2552acdbae/canopen/node/local.py#L118-L124\n\nI believe a similar solution should be used here. If the write callbacks return anything else than `None` then the data should not be stored in the data store.\n\nThe use-case for this is when implementing a simulator of our hardware devices using `LocalNode`. We have some special SDOs that require some special responses. The callbacks for both reads and writes provides everything that's needed for that, except the data store is filling up with data that should not be present in the store.\n","author":{"url":"https://github.com/sveinse","@type":"Person","name":"sveinse"},"datePublished":"2025-07-06T18:01:09.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":4},"url":"https://github.com/598/canopen/issues/598"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:fd43265e-67bc-0dc4-d30e-17637493a41e |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | EAB4:1C23F8:2082C5D:2B5BDF5:6A5D67A1 |
| html-safe-nonce | 9f9a3104a3edc11d75457ca6d5e4dcd01993fc6eef9ff6e7e3bee3bd593c57f3 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFQUI0OjFDMjNGODoyMDgyQzVEOjJCNUJERjU6NkE1RDY3QTEiLCJ2aXNpdG9yX2lkIjoiNzk1NTcxNDk5OTkwNjA3Nzc3IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 47e5ba576e49d67b94a890979bcce3176c9db491eee9f5ae109d12cafc080a91 |
| hovercard-subject-tag | issue:3206849009 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/canopen-python/canopen/598/issue_layout |
| twitter:image | https://opengraph.githubassets.com/f5859951f0e74c2e394a244e46dc3219bbb0b93a18117ac6610e1eed4827f59a/canopen-python/canopen/issues/598 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/f5859951f0e74c2e394a244e46dc3219bbb0b93a18117ac6610e1eed4827f59a/canopen-python/canopen/issues/598 |
| og:image:alt | It is possible to create a custom SDO reader when using LocalNode. If this function returns anything else than None this value will be used as a response to the remote client. canopen/canopen/node/... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | sveinse |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5290d7e14309ad1e76106a9c4237bd1041517e83ea182c8ab756752cb0c6940b |
| turbo-cache-control | no-preview |
| go-import | github.com/canopen-python/canopen git https://github.com/canopen-python/canopen.git |
| octolytics-dimension-user_id | 200581454 |
| octolytics-dimension-user_login | canopen-python |
| octolytics-dimension-repository_id | 68737600 |
| octolytics-dimension-repository_nwo | canopen-python/canopen |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 68737600 |
| octolytics-dimension-repository_network_root_nwo | canopen-python/canopen |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 9c975978430e9ad293956f2bbdaf153b1bd84a99 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width