schoolpost / BlueMagic32

Arduino ESP32 Library for connecting to Blackmagic Cameras using Bluetooth Low Energy.
GNU Lesser General Public License v2.1
95 stars 17 forks source link

toggleRecording() not working anymore with Firmware 7.9 and above #14

Open Adrian-Hilmmer opened 2 years ago

Adrian-Hilmmer commented 2 years ago

Hey guys,

actually I´ver upgraded the firmare to 7.9 on the bmpcc4k and my atom controller does not work correctly anymore. The first btn press triggers the recording but the second press does not toggle to stop the recording. I am not sure if BMD´s SDK has changed but I am happy about some input to get the controller running again.

Thanks, Adrian

falcaobh commented 2 years ago

Hi, did you manage to solve the problem? in addition to this problem of not being able to stop recording with the second click, I have problems with the connection. I have to turn the m5stickC off and on several times for the connection to happen. I hope you got it resolved and can help me. thanks

Adrian-Hilmmer commented 2 years ago

Hi, did you manage to solve the problem? in addition to this problem of not being able to stop recording with the second click, I have problems with the connection. I have to turn the m5stickC off and on several times for the connection to happen. I hope you got it resolved and can help me. thanks

Hey falcaobh,

actually I am still waiting for a response. Maybe without the toggle function it will work. I am not that good at programming, but I will try to find a way to make it work. If you'll find a solution please let me know :)

For your connection problem, which device do you power on first? I power on the m5 first and after that the pocket. This works all the time to get a connection. Hope this helps :D

Adrian-Hilmmer commented 2 years ago

So, today I found some time to test a work arround. It looks like the toggleRecording() function does not work anymore. My solution actually is to do a single and a double click. On single click I call "BMDControl->record(true);" and on double click I call "BMDControl->record(false);". This works like a charm but actually is not that elegant. When I try to build this with if/else and get the recording state it also does not work :/

Maybe something has changed about the readout of states in the SDK ...

falcaobh commented 2 years ago

Works! Thank you

larsdpeder commented 2 years ago

Is it possible for you to post the code? Thanks. I'm also trying on a m5 stick and recording works but it wont stop again.

spynappels commented 2 years ago

Does the BMDControl->isRecording(); still work? Don't have a BMPCC4K to hand to test.

If it does you can create an additional function in your sketch like this to get recording state:

bool isRec(){ bool result = BMDControl->isRecording(); return result; }

Use the output from this to command to stop recording:

if (isRec() == true){ BMDControl->record(false); }

Or alternatively to start recording:

if (isRec() == false){ BMDControl->record(true); }

These can then be combined in an if...else block to give a direct replacement for the toggle command.

RyLo2797 commented 2 years ago

Does the BMDControl->isRecording(); still work? Don't have a BMPCC4K to hand to test.

If it does you can create an additional function in your sketch like this to get recording state:

bool isRec(){ bool result = BMDControl->isRecording(); return result; }

Use the output from this to command to stop recording:

if (isRec() == true){ BMDControl->record(false); }

Or alternatively to start recording:

if (isRec() == false){ BMDControl->record(true); }

These can then be combined in an if...else block to give a direct replacement for the toggle command.

No, BMDControl->isRecording(); doesn't work, which is where the issue lies. For some reason, getTransportMode(); isn't returning the right value. It still returns 0 when it should be returning 2. So there's no way to know if the camera is recording or not.

@schoolpost Would you be able to look at this and figure out what broke in the latest firmwares/SDK?

Adrian-Hilmmer commented 2 years ago

Actually my work arround is the single and double click with several functions. It would be nice if @schoolpost would look at this so the awesome library will work flawlessly again :)

Adrian-Hilmmer commented 1 year ago

@schoolpost would it be possible for you to take a look at this?