-
Notifications
You must be signed in to change notification settings - Fork 1k
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
CE set LOW twice consecutively in startConstantCarrier()
#986
Comments
Hmm, interesting find! I think you are probably correct in the required order of operations here. Your rust project seems a bit ambitious, I don't know much rust, but will follow along with interest! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
RF24/RF24.cpp
Lines 1996 to 1997 in 81348ad
where the definition of
reUseTX()
isRF24/RF24.cpp
Lines 1325 to 1331 in 81348ad
I think the problem is that reUseTX() doesn't deactivate the CE pin before it needs to clear the MAX_RT flag. It would make sense to me if the radio is put into standby mode before clearing the MAX_RT flag.
Git blame seems a bit confusing. The consecutive
ce()
calls were added in 77b1e2c, but it was closer to what I would expect beforehand in d0ec0c4 (except without clearing the MAX_RT flag)I think this was a copy-n-paste oversight, but the changes are 10 years old 😆. FWIW, the CirPy lib does
ce(LOW)
-> clear flag ->ce(HIGH)
as well.Propsal
in
startConstantCarrier()
:- ce(LOW); reUseTX();
then in
reUseTX()
:PS - I found this when writing unit tests to ensure expected behavior in pure rust. 😉
The text was updated successfully, but these errors were encountered: