Giter VIP home page Giter VIP logo

gkoh / furble Goto Github PK

View Code? Open in Web Editor NEW
58.0 6.0 8.0 5.51 MB

A wireless remote shutter release/button for Fujifilm (eg. GFX100II, GFX100S, X-H2S, X-S10, X-T3, X-T30, X-T4, X-T5, X100V) and Canon EOS (eg. M6, RP) cameras.

Home Page: https://furble-web-installer.koh.wtf

License: MIT License

Makefile 0.04% C++ 40.63% C 57.37% Shell 1.56% Python 0.07% HTML 0.33%
bluetooth-low-energy fujifilm-cameras shutter-release m5stickc esp32 ble bluetooth m5stickc-plus fujifilm canon

furble's People

Contributors

gkoh avatar matthudsonau avatar sbstjn avatar wolcano avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

furble's Issues

Gfx100s owner

Hi

I am not a tech person but I do own a gfx100s and would love a wireless remote

I have no clue about coding etc but would be happy to pay for one to be made and I would test....

Adrian

Add long press activation for shutter lock

Shutter lock currently requires 2 hands:

  • hold button b
  • press button a

This seems overly complicated.

This can be simplified to be just be:

  • long press button a

Where 'long press' we can arbitrarily define as 'hold button a down for longer than 500ms'.

Implement focus support for Canon EOS

Canon EOS support for focus during shutter control doesn't behave as expected.
Investigate how or whether it is possible to bring up to parity with the Fujifilm cameras.

Improve web installer content.

The web installer is quite ... minimal.
Add some details of the project or similar so people know what it is without needing to click through to the actual github project.

Shutter releases immediately (Canon)

When A or B are pressed (and not released) the camera does auto-focus and releases shutter immediately, not waiting for button (A or B) release.
Tested on Canon EOS-RP

Donation Button?

Where is the Donation Button? I would say "Thanks" to the dev...

Add support for web based installer

With technical advance and the advent of esp-web-tools, flashing furble to a device can now be done without needing to install software.

The following can be done to support this:

  • publish all 4 binary artifacts generated by platformio for flashing an ESP32
  • publish a manifest as required by esp-web-tools
  • create a very basic index page to include esp-web-tools
  • identify a hosting platform for the web installer
  • create a workflow to automate upload and deployment during release

Installation Info

Hey, Congratulation for a very nice 1.0 Version and a bin. I flashed the bin file with ESPHome Alllication and it works perfect. I tried every Theme/Settigs and im really happy. Especially the β€žfocus onlyβ€œ - i love it - THX! Donation coild be also add to the main page ☺️

Now to the suggestion: maybe you could edit, that the installation is easy with ESPHome and link to the App πŸ˜‰

Add releases and versioning

To better support non-developers, do the following:

  • start generating binary releases
  • start versioning said releases
  • identify flash programmers for:
    • Windows
    • MacOS
    • Linux?

The ultimate aim would be to reduce the consumer workflow to:

  • buy M5Stick
  • install flashing tool
  • download furble binary release
  • program M5Stick
  • use furble

This would remove the requirement for non-developers to install the entire ESP32 toolchain.

GFX100II GPS Not Working

Discussed in #94

Originally posted by edcooley June 20, 2024
New user installed on Plus 2 with web install. I can connect to my GFX100 II and fire the shutter fine. I am having issues with GPS not recording on exposures. The GPS option is turned on and GPS data shows date and location. The option to request smartphone location is enabled on the body and using the Xapp to fire the shutter adds GPS to images.

Any idea what I am doing wrong?

Design a better UI for the M5Stack Core2

Preface: I have no idea if this belongs in this project, or if I should just 'steal' the camera communication parts and make my own

I now have a M5Stack Core2 (ok, two: I like to have a spare to loan out to people). With the touch interface and the addition of two extra buttons (three below the screen and two on the side of the case) there's definitely a lot more options for a UI than on the M5Stick, plus the bigger screen means that the current UI could definitely stand to be improved

Add per-remote identifier support

If you have more than one remote they're all called furble.
This makes it difficult/messy if you're developing/testing or doing interesting things with multiple cameras and multiple remotes.

Add a way to identify the remote via name. Perhaps using some fragment of the ESP32 ChipID?

Add GPS location and time sync support

Discussed in #42

Originally posted by stulevine January 20, 2023
Hi @gkoh. Just wanted to let the you all know that I just installed furble to a new M5stack M5Stick C Plus ESP32-PICO-D4 Mini IoT Development Kit device purchased on Amazon.com and it works just perfectly with my new Fujifilm X-T5 with firmware v1.0.2 (just released this morning). Nice alternative to using my iPhone. The only other thing that would be great is if the M5Stick supported GPS locations sourcing. The X-T5 can use the CamRemote app on the iPhone when connected view BT to derive the GPS location and add it to the photo meta data. I'd be curious if this could be accomplished using the WiFi module of the M5Stick? Curious if anyone has any thoughts on this. I guess, if the M5Stick does not have GPS support, that I could purchase a GPS module and connect it to the GPIO pins and see how difficult it would be to support location transmission to the camera.

Stuart

Update: M5Stack does make a GPS unit that plugs into the M5Stick Grove connector interface and works with M5Core. Here is the product link I might order it and see if it's possible to send GPS coordinates to the camera. I think the camera will poll the device for that info if enabled in the setup menu on the camera. Any insights would be greatly appreciated.

User-Friendly Instruction...

Maybe a more "User Friendly" Tutorial will open this Project to more Users! Its so f**king Awesome what Fujifilm Users can get here!

Like this step-by-step guide.... (just as an idea)

  1. Install PlattformIO (Infos here: https://docs.platformio.org/en/latest//core/installation/methods/installer-script.html#super-quick-macos-linux)
  2. Download this Code and extract it to the folder.....
  3. Plug in your... and turn it on...
  4. Start this code in Terminal...

Just a little more Infos ;-)

Update documentation for v2.

With #43 done, need to update the README to include:

  • links to device (for purchase)
    • GPS unit
  • new menu settings to enable GPS
  • new device support
    • M5Core/M5Core2
    • M5StickC Plus2
  • interval mode
  • shutter lock
  • web based install method

Rename Project for better finding...

Maybe it would be better to find this nice Project, when you rename it from

"furble - FUjifilm Remote Bluetooth Low Energy"

to

"furble - Fujifilm Remote Bluetooth Trigger/Button" (Trigger or Button or both)

I just found the way to furble in an Forum as a link from anybody. With Google search i cant find a link to furble ;-)

Donation button + better finiding in google search = Fame & Money 🀣

Modify and enforce code style.

To ensure future merges don't suffer from indentation or style conflicts, apply a format now and enforce it with CI.
Adding a clang-format file would help here.

New camera firmware (eg. 1.50 for Fujifilm X-T30) cannot pair

The release of new firmware for recent Fujifilm cameras to support the Tripod Grip TG-BT1 has broken our pairing.
During a new pairing request, furble claims success, but the camera just sits there waiting for a valid pairing partner.
Going to need a fix for this, furble is now dead with the new firmware.

Refactor Canon EOS support

There's a fair amount of code duplicated between EOS M6 and EOS RP.
Try to refactor and remove it.

At the same time, work out if the focus button could be supported.

Refactor pairing and connecting

After #36, it will still be useful to separate pairing and connecting.
Based on this, the connection for older Canon EOS (smartphone only) will be different to newer Canon EOS (remote control).

Refactoring will allow us to use the same pairing code for all Canon EOS, but different connect code.

Handle Bluetooth connection dropping

At the moment there is no monitoring of the connection status by the remote, so often the only indication that the connection has failed is that the camera stops responding

M5StickC is EOL, replaced with M5StickC PLUS

Sometime in the last 12 months the M5StickC was end-of-life'd with the M5StickC PLUS being the fully compatible replacement.
The M5StickC PLUS has a larger screen, thus the hacks to M5ez will need to be updated.

Focus Button on m5Stick

Is it possible to use the other Key as Focus button? So we could have Focus & Shutter... the M5 have a second button πŸ˜‰

(Info) Works with Fujifilm X-S10

Thanks for the nice Code !

I ordered at "banggood" for 25$ my m5Stick C-Plus and connected it with my Fujifilm X-S10. Everythings works YEAH

Thank you!

furble identifies as a smartphone with new Fujifilm firmware

Newer cameras that are support the new tripod remote (TG-BT1) have new firmware (eg. 1.50 for X-T30).
With this firmware, when furble connects, a little smart phone icon appears under the Bluetooth icon.
This is expected as furble is built from replicating the protocol between the smart phone app and the camera.

It would nice if we could work out the TG-BT1 protocol as that is more in-line with furble.

Add transmit power control

By default the ESP32 uses transmit power level 5, which is +3dBm.
Community reports suggest this is good for 10-15 metres (I have not personally tested).

Add a transmit power setting, allowing one to choose level 6 (+6dBm) and 7 (+9dBm).
This will allow one to perhaps increase operational distance, but possibly at the cost of battery power.

Add mobile device (smartphone) support.

The default camera app in both iOS and Android triggers the shutter when the 'volume up' key is sent.

This requires:

  • building a BLE server
    • with the mobile device, the connection orientation is reversed, the ESP32 is the peripheral whilst the mobile is the central
  • advertising the right services (HID, etc)
  • pairing with the mobile as a keyboard
  • wiring the shutter release to send 'volume up'
  • bending the workflows of 'normal' cameras and mobiles to be similar

Handle pairing confirmation for Canon EOS

Thanks to @wolcano for delving into the Canon EOS more.
It looks like pairing and connecting for Canon can and should be separated, especially due to an 'acceptance' bit where the camera needs an 'OK' to complete the pair.

For Canon EOS, the pair acceptance result comes via a BLE notification.
Which seems to be:

  • service UUID 00010000-0000-1000-0000-d8492fffa821
  • characteristic 00010006-0000-1000-0000-d8492fffa821
  • indicator value 0x02 -> accept
  • indicator value 0x03 -> reject

This is consistent with the efforts from https://github.com/robot9706/CanonBLEIntervalometer

Quickly pressing buttons in shooting mode causes functions to get stuck on

Equipment: M5StickC PLUS, GFX 100ii

When in shooting mode, quickly tapping a button only seems to trigger the shutterPress/focusPress functions, and the shutter/focus is locked on until the button is long pressed (another quick press keeps the function locked on)

I actually find this behaviour to be very useful, however trying to 'unstick' the buttons is annoying. It would be a lot better if a second quick press simply turned the function off

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.