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

Initial rewrite to better support Canon EOS R. #172

Merged
merged 3 commits into from
Jan 31, 2025

Conversation

gkoh
Copy link
Owner

@gkoh gkoh commented Jan 28, 2025

Refactor existing Canon EOS support into Canon EOS M6.

Reimplement Canon EOS R support.

Refactor existing Canon EOS support into Canon EOS M6.

Reimplement Canon EOS R support.
@gkoh gkoh linked an issue Jan 28, 2025 that may be closed by this pull request
@gkoh
Copy link
Owner Author

gkoh commented Jan 28, 2025

@hijae There was actually much less code/rewrite than I thought.
When you get a chance, please have a look and try it out.

There are a few areas I'm curious:

  • the matches() relies on the service UUID being present
  • there is no waiting for the camera to issue a notification for pair complete
  • other code does not require a response from writeValue(), here we do

Overall, the actual implementation in lib/furble/CanonEOSR.cpp should be fairly straightforward.

@hijae
Copy link
Contributor

hijae commented Jan 30, 2025

Tested with R6m2. The camera display in the connection waiting list, and after selecting it, an error message display on the camera: Connection target not found.

@gkoh
Copy link
Owner Author

gkoh commented Jan 30, 2025

Tested with R6m2. The camera display in the connection waiting list, and after selecting it, an error message display on the camera: Connection target not found.

Thank you for trying.
Could you please send through the serial console log?
I'd like to find out how far we got through the connection process.

@gkoh
Copy link
Owner Author

gkoh commented Jan 30, 2025

Also, feel free to debug if you have the time, I'd be happy to take any changes.

@hijae
Copy link
Contributor

hijae commented Jan 30, 2025

esp-web-tools-logs.txt
This is log with RP, R6mark2. (Mac address is replaced with 00 by me. it's not bug.)
RP has no pairing mode and is always on standby, so even if you select it from the list, there is no response from the camera.

@gkoh
Copy link
Owner Author

gkoh commented Jan 30, 2025

esp-web-tools-logs.txt This is log with RP, R6mark2. (Mac address is replaced with 00 by me. it's not bug.) RP has no pairing mode and is always on standby, so even if you select it from the list, there is no response from the camera.

Thank you!
I can already see a bug with the connect phase and your log confirms it.
Give me a few minutes ...

Add the 0x03 prefix to the CanonEOSR connection handshake.
@gkoh
Copy link
Owner Author

gkoh commented Jan 30, 2025

I noticed we were missing the 0x03 prefix, this matches EOSM6 where the handshake prefix goes:

  • 0x01
  • 0x02
  • 0x03
  • ...

Except EOSR does not require/have steps 0x01 or 0x02.

@hijae
Copy link
Contributor

hijae commented Jan 30, 2025

working great with R6mark2.
In the process of testing RP, I explained incorrect usage.
There is a record of previous attempts, so after factory reset, it appears that pairing mode is necessary. not always on standby. I'm sorry.

@hijae
Copy link
Contributor

hijae commented Jan 30, 2025

I'm testing the RP and pairing well, but the focus and shutter don't work.

@gkoh
Copy link
Owner Author

gkoh commented Jan 30, 2025

I'm testing the RP and pairing well, but the focus and shutter don't work.

Hmmm, this is concerning. All available information suggests R6 and RP should work the same way.

@hijae
Copy link
Contributor

hijae commented Jan 30, 2025

I reset the RP and m5stick and tried again, but it still doesn't work.
The log just says everything is fine.
i tested this site one more time.
https://github.com/RReverser/eos-remote-web
and not working.
All I did was reset it, but the behavior has changed so I can't understand it.

@gkoh
Copy link
Owner Author

gkoh commented Jan 30, 2025

I reset the RP and m5stick and tried again, but it still doesn't work. The log just says everything is fine. I can't understand.

Hmm, can you check if the remote control mode is disabled?
I just found this youtube video which shows the setting:
https://youtu.be/201ZPMJ_RaM?t=53

@gkoh gkoh linked an issue Jan 30, 2025 that may be closed by this pull request
@hijae
Copy link
Contributor

hijae commented Jan 30, 2025

I reset the RP and m5stick and tried again, but it still doesn't work. The log just says everything is fine. I can't understand.

Hmm, can you check if the remote control mode is disabled? I just found this youtube video which shows the setting: https://youtu.be/201ZPMJ_RaM?t=53

I just checked. This is a setting for using the remote control in video mode, and focus works.
However, the shutter still does not work so no video is recorded.

The focus worked in video mode. So i tested it in photo mode with stayed connected. but not working.
also After trying to focus and shutters several times, the camera stopped working, so I need to remove the battery and reconnected it.

@gkoh
Copy link
Owner Author

gkoh commented Jan 30, 2025

I reset the RP and m5stick and tried again, but it still doesn't work. The log just says everything is fine. I can't understand.

Hmm, can you check if the remote control mode is disabled? I just found this youtube video which shows the setting: https://youtu.be/201ZPMJ_RaM?t=53

I just checked. This is a setting for using the remote control in video mode, and focus works. However, the shutter still does not work so no video is recorded.

The focus worked in video mode. So i tested it in photo mode with stayed connected. but not working. also After trying to focus and shutters several times, the camera stopped working, so I need to remove the battery and reconnected it.

OK, this very strange. I'm not sure there is any more I can offer, so I will leave this in your capable hands.

@gkoh
Copy link
Owner Author

gkoh commented Jan 30, 2025

If you haven't already, perhaps it is worth trying Canon's official app just to prove the RP is OK.
If the R6 is working, maybe the factory reset on the RP didn't reset something properly?

@hijae
Copy link
Contributor

hijae commented Jan 30, 2025

If you haven't already, perhaps it is worth trying Canon's official app just to prove the RP is OK. If the R6 is working, maybe the factory reset on the RP didn't reset something properly?

I just connected it to my phone to check it.
It works. Maybe it was my mistake to say it was possible before.
Also, https://github.com/RReverser/eos-remote-web still connects fine but doesn't work.

@hijae
Copy link
Contributor

hijae commented Jan 30, 2025

If you haven't already, perhaps it is worth trying Canon's official app just to prove the RP is OK. If the R6 is working, maybe the factory reset on the RP didn't reset something properly?

I just connected it to my phone to check it. It works. Maybe it was my mistake to say it was possible before. Also, https://github.com/RReverser/eos-remote-web still connects fine but doesn't work.

I figured it out! There was a separate remote control for drive mode.
The problem was that I borrowed it for a short time and didn't know how to use it correctly.
RP works Great!

@gkoh
Copy link
Owner Author

gkoh commented Jan 30, 2025

I figured it out! There was a separate remote control for drive mode. The problem was that I borrowed it for a short time and didn't know how to use it correctly. RP works Great!

Excellent!
Fantastic work @hijae.

I will review the PR again tomorrow and then merge.
Thanks once again for your help, appreciated.

@gkoh
Copy link
Owner Author

gkoh commented Jan 30, 2025

@hijae I also invite you to approve/review this PR if you wish.

@gkoh gkoh merged commit 705aa03 into master Jan 31, 2025
6 checks passed
@gkoh gkoh deleted the 29-better-support-canon-eos-r branch January 31, 2025 00:44
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

Successfully merging this pull request may close these issues.

Implement focus support for Canon EOS Shutter releases immediately (Canon)
2 participants