René's URL Explorer Experiment


Title: Make changes to support binary transfers. by haydenroche5 · Pull Request #76 · blues/note-python · GitHub

Open Graph Title: Make changes to support binary transfers. by haydenroche5 · Pull Request #76 · blues/note-python

X Title: Make changes to support binary transfers. by haydenroche5 · Pull Request #76 · blues/note-python

Description: Add CRC support. Align serial and I2C code with note-c. This encompasses mimicking the algorithms used in note-c and also things like delay lengths, number of retries, transaction timeout lengths, etc. Align transaction logic with note-c. The majority of this work is in the reworked Transaction function, which is analogous to noteTransactionShouldLock in note-c. Rework serial/I2C locking so that the lock can be held for the entirety of a binary transfer. For example, for a binary receive operation, the host needs to send a card.binary.get and then immediately receive the binary data from the Notecard. The serial/I2C lock should be held for the entirety of this operation, rather than be released after the card.binary.get and reacquired for the receipt of the binary data. Add two methods for both serial and I2C: transmit and receive. transmit is used to transmit arbitrary bytes to the Notecard (e.g. after card.binary.put). receive is used to read a stream of bytes from the Notecard, stopping after reading a newline (e.g. after a card.binary.get). These are analogous to the chunked(Receive|Transmit) functions in note-c. Overhaul unit testing. This commit adds many new unit tests, in addition to reorganizing things. Tests for the Notecard base class are in test_notecard.py. OpenSerial tests are in test_serial.py, and OpenI2C tests are in test_i2c.py. There is a some code repetition here, especially between the _transact and Reset methods of OpenSerial and OpenI2C. Again, this follows the pattern in note-c and was done consciously. We may want to factor out that repetition in the future, but for now, I'm prioritizing parity with the "source of truth" (note-c).

Open Graph Description: Add CRC support. Align serial and I2C code with note-c. This encompasses mimicking the algorithms used in note-c and also things like delay lengths, number of retries, transaction timeout lengths, ...

X Description: Add CRC support. Align serial and I2C code with note-c. This encompasses mimicking the algorithms used in note-c and also things like delay lengths, number of retries, transaction timeout lengths, ...

Opengraph URL: https://github.com/blues/note-python/pull/76

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/commits/:range(.:format)
route-controllerpull_requests
route-actioncommits
fetch-noncev2:28c85282-c594-e9c4-08e7-ca59bf9e5eba
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id9716:2159E5:713F25B:99C2146:6995FAA8
html-safe-nonce326161eb76c77f4129255b86e28a26c9081e943c27a0999c1d4a6467745de49c
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5NzE2OjIxNTlFNTo3MTNGMjVCOjk5QzIxNDY6Njk5NUZBQTgiLCJ2aXNpdG9yX2lkIjoiNjEzODUxMjg1NjMxMTAwMzgxNiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac025bdcf537017dbe1e47e6f8bfec9b203a835f666701d328b5254fdfbc60344a
hovercard-subject-tagpull_request:1518832133
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/commits
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986
twitter:imagehttps://avatars.githubusercontent.com/u/8220503?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/8220503?s=400&v=4
og:image:altAdd CRC support. Align serial and I2C code with note-c. This encompasses mimicking the algorithms used in note-c and also things like delay lengths, number of retries, transaction timeout lengths, ...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None7490a2fd98baca866acf503b81aa249491b42e5b4bab7f7a2801be81175c8845
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/blues/note-python git https://github.com/blues/note-python.git
octolytics-dimension-user_id34011775
octolytics-dimension-user_loginblues
octolytics-dimension-repository_id172786900
octolytics-dimension-repository_nwoblues/note-python
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id172786900
octolytics-dimension-repository_network_root_nwoblues/note-python
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release7d4dd093df4317af2917f456adc39081443c0328
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fblues%2Fnote-python%2Fpull%2F76%2Fcommits%2F1f783b87a9c8b9ea8918e2d6c31b19a187258986
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fblues%2Fnote-python%2Fpull%2F76%2Fcommits%2F1f783b87a9c8b9ea8918e2d6c31b19a187258986
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Fcommits&source=header-repo&source_repo=blues%2Fnote-python
Reloadhttps://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986
Reloadhttps://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986
Reloadhttps://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986
blues https://github.com/blues
note-pythonhttps://github.com/blues/note-python
Notifications https://github.com/login?return_to=%2Fblues%2Fnote-python
Fork 6 https://github.com/login?return_to=%2Fblues%2Fnote-python
Star 18 https://github.com/login?return_to=%2Fblues%2Fnote-python
Code https://github.com/blues/note-python
Issues 2 https://github.com/blues/note-python/issues
Pull requests 3 https://github.com/blues/note-python/pulls
Actions https://github.com/blues/note-python/actions
Projects 0 https://github.com/blues/note-python/projects
Models https://github.com/blues/note-python/models
Security 0 https://github.com/blues/note-python/security
Insights https://github.com/blues/note-python/pulse
Code https://github.com/blues/note-python
Issues https://github.com/blues/note-python/issues
Pull requests https://github.com/blues/note-python/pulls
Actions https://github.com/blues/note-python/actions
Projects https://github.com/blues/note-python/projects
Models https://github.com/blues/note-python/models
Security https://github.com/blues/note-python/security
Insights https://github.com/blues/note-python/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fblues%2Fnote-python%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fblues%2Fnote-python%2Fissues%2Fnew%2Fchoose
haydenroche5https://github.com/haydenroche5
blues:mainhttps://github.com/blues/note-python/tree/main
haydenroche5:prepare_for_cobshttps://github.com/haydenroche5/note-python/tree/prepare_for_cobs
Conversation 13 https://github.com/blues/note-python/pull/76
Commits 4 https://github.com/blues/note-python/pull/76/commits
Checks 0 https://github.com/blues/note-python/pull/76/checks
Files changed https://github.com/blues/note-python/pull/76/files
Please reload this pagehttps://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986
Make changes to support binary transfers. https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#top
Show all changes 4 commits https://github.com/blues/note-python/pull/76/files
0a3c0b8 Make changes to support binary transfers. haydenroche5 Sep 18, 2023 https://github.com/blues/note-python/pull/76/commits/0a3c0b8ce270912211ccf82d2126742bfeaeeeb8
5058b98 Fix a couple problems. haydenroche5 Oct 1, 2023 https://github.com/blues/note-python/pull/76/commits/5058b984dc950e1bfed0ff7bd916f1111ec0dfee
22885ce Address review feedback. haydenroche5 Oct 4, 2023 https://github.com/blues/note-python/pull/76/commits/22885cefd3cefff08ebc54a3b9088ace989bf3d1
1f783b8 Fix issue with multiline f-string concatenation in Micro|CircuitPython. haydenroche5 Oct 17, 2023 https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986
Clear filters https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986
Please reload this pagehttps://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986
Please reload this pagehttps://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986
Makefile https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52
notecard.py https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
Prev https://github.com/blues/note-python/pull/76/commits/22885cefd3cefff08ebc54a3b9088ace989bf3d1
https://forum.micropython.org/viewtopic.php?f=2&t=11114https://forum.micropython.org/viewtopic.php?f=2&t=11114
Please reload this pagehttps://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986
https://github.com/haydenroche5
haydenroche5https://github.com/blues/note-python/commits?author=haydenroche5
Makefilehttps://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52
View file https://github.com/haydenroche5/note-python/blob/1f783b87a9c8b9ea8918e2d6c31b19a187258986/Makefile
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/blues/note-python/pull/76/commits/{{ revealButtonHref }}
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52
notecard/notecard.pyhttps://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
View file https://github.com/haydenroche5/note-python/blob/1f783b87a9c8b9ea8918e2d6c31b19a187258986/notecard/notecard.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/blues/note-python/pull/76/commits/{{ revealButtonHref }}
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
m-mcgowanhttps://github.com/m-mcgowan
Oct 2, 2023https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#r1342517220
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com/blues/note-python/pull/76/commits/1f783b87a9c8b9ea8918e2d6c31b19a187258986#diff-f44a4c4c1e9421a02ea8e1c572e13c7de57bb3a97b7f501f2c14e90131f009d0
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.