Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Pelican

Pages: [1] 2 3 ... 17
General Development / Re: Magic Lantern USB Installation Tool
« on: July 23, 2022, 12:40:50 PM »
Why not 1.0.0?

Camera-specific Development / Canon EOS R7
« on: June 25, 2022, 11:00:43 AM »
I've got an R7 for testing for a few days.
Is there anything I can do to start the exploring/developing of ML on this camera?

General Help Q&A / Re: Is my 7D Fried?
« on: September 16, 2016, 03:40:35 PM »
New folder created after 10000 pictures not 1000.

Camera-specific Development / Re: Canon 7D Mark II
« on: August 24, 2016, 02:37:58 PM »
I have managed to get a 217K dump so far
Haven't you used the dumper which dumps the 0xffff000-ffffffff area? That is only 64 kB.

Camera-specific Development / Re: Canon 7D Mark II
« on: August 24, 2016, 12:44:49 AM »
Think I may have found the problem! AGC on my mic port. Now to find out if I can turn it off!

Camera-specific Development / Re: Canon 7D Mark II
« on: June 21, 2016, 08:28:59 PM »
Can you show me your setup so i can do the same with my canon 80D! Please
You need not only the photodiode connected to a serial port but a signed fw for your 80D...
But if a1ex can dump the 7D2 I'm sure the 80D will be the next.

Camera-specific Development / Re: Canon 7D Mark II
« on: June 21, 2016, 05:14:51 PM »
Please let me know once you have the hardware ready.

Camera-specific Development / Re: Canon 7D Mark II
« on: June 17, 2016, 11:56:52 AM »
I'm looking for a 7D2 user able and willing to measure the current from his camera while running this FIR. It can be done easily with an external power adapter and a multimeter, but you may need to sacrifice the cable.

The FIR simply jumps to 0xFE0A0000 on both cores (which I thought it should boot Canon firmware), but gives black screen according to atonal. Firmware version doesn't matter for this test.

Code: [Select]
00800120: e51ff004 ldr pc, [pc, #-4] ; 00800124 <_start+0x4>
00800124: fe0a0000 .word 0xfe0a0000

I'm looking at this option for two reasons:
- I want to find out whether the camera locks up or shuts down
- if I manage to lock up the camera without starting the main firmware (which was quite hard on the original 7D, as there was a watchdog shutting it down if the other digic was not initialized), I'm thinking to execute two code sequences that result in different power consumption (such as entering powersaving mode vs a busy waiting loop). This will let me dump the ROM bit by bit (probably slow). That's because I know neither the LED address, nor how to drive any other device that could give some sort of output, nor how to start Canon firmware.
So what should I see on the multimeter with this firmware?
Is it oscillating current or not?
Yes, it  is probably locked, it does nothing (black screen no response) until battery remove.
My external power adapter just died :( so I can use the cable of it to play with.
I'm going to photograph butterflies right now but next week I can test if the firmware can produce different current (3-4 sec period could be easy to measure)

Camera-specific Development / Re: Canon 7D Mark II
« on: June 13, 2016, 07:50:58 PM »

Camera-specific Development / Re: Canon 7D Mark II
« on: June 13, 2016, 07:30:59 PM »
I've just put 1.0.4 to my 7D2 but I cannot find the updater fir
Should I compile it by myself?
If somebody could compile it would save a lot of time for me because I have no gcc on my laptop right now...

Camera-specific Development / Re: Canon 7D Mark II
« on: May 29, 2016, 06:29:24 PM »
What I need: in arm-mcr.h, we have B_INSTR and BL_INSTR for encoding the two ARM instructions. I need the same macros for Thumb-2 instructions B.W and BLX.W.
I don't know what is .W at the end of B and BLX but uncoditional B is 0b11100ooooooooooo where oo..oo is the offset/2 (+-2KB,-2048 to +2046)
so the macro is something like this
Code: [Select]
#define B_THUMB(pc,dest) \
    ( 0xE000 \
    | ((( ((uint16_t)dest) - ((uint16_t)pc) - 4 ) >> 1) & 0x7FF) \

the BLX is two 16 bit thumb instructions 0b11110ooooooooooo and 0b11101sssssssssss where oo..oo is the upper 11 bit of offset and is the lower 11 bit of the offset (the last bit must be 0)
Code: [Select]
#define BLX_THUMB(pc,dest) \
    ( 0xF000E800 \
    | (((( ((uint32_t)dest) - ((uint32_t)pc) - 4 ) >> 12) & 0x7FF) << 16) \
    | ((( ((uint32_t)dest) - ((uint32_t)pc) - 4 ) >> 1) & 0x7FF) \

Duplicate Questions / Re: 7d Mark II
« on: September 15, 2015, 06:31:32 PM »

Camera-specific Development / Re: Canon 7D Mark II
« on: September 08, 2015, 12:28:10 PM »
Don't hold your breath...

General Chat / Re: Downgrading 5D Mark III firmware to 1.2.3?
« on: July 02, 2015, 11:46:14 PM »
You can find the older firmwares at the end of the EOScard page.
Also you can find the Canon install CD 29 which contains EU on my down folder.

Camera-specific Development / Re: Canon 7D Mark II
« on: June 30, 2015, 10:31:41 AM »
Do you know any female ML developer?

Camera-specific Development / Re: Canon 7D Mark II
« on: June 29, 2015, 11:40:17 AM »
Unfortunately, nobody is working on the 7D2 ML (as I know).
Not even a firmware dumper is available.
We have only the updater file which contains a big part of the code, so if somebody want to do something he can start with that.

General Development / Re: C expert needed
« on: June 16, 2015, 12:11:42 AM »
Thanks for everybody.
Finally I found the solution on another forum where somebody write similar pascal wrapper but he not linked the wiringpi.o directly but just through the installed library:

{$linklib c}
{$linklib libwiringPi}

And this way it is just working.

General Development / Re: C expert needed
« on: June 03, 2015, 08:28:27 PM »
I simplified the sources to a minimum level.
As you can see the main unit not even calls any wiringPi functions, only lists the unit in the uses.
For the linker is nothing to do with the wiringPi.o but it fails on it.
If I change the object file path to point to the previous version of the object file then everything is fine.

The main program:
Code: [Select]
unit Main;

{$mode objfpc}{$H+}


uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,  WiringPi;


  { TfMain }

  TfMain = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    { private declarations }
    { public declarations }

  fMain: TfMain;


{$R *.lfm}

{ TfMain }

procedure TfMain.Button1Click(Sender: TObject);
//  wiringPiSetup;


The wrapper for the wiringPi:
Code: [Select]
unit wiringPi;
{$link /home/pi/wiringPi/wiringPi/wiringPi.o}
{$linklib c}


  Function wiringPiSetup:longint;cdecl;external;


you could also implement that function on your own.
iirc when googling, you could find some reference implementation of them.
I found some source for these __aeabi functions but what could I do with them? I tried to change the wiringPi makefile and put these sources in it but nothing happened.

Makefile section where I tried to put the __aeabi_idiv.c and other sources
Code: [Select]
SRC = wiringPi.c \
wiringSerial.c wiringShift.c \
piHiPri.c piThread.c \
wiringPiSPI.c wiringPiI2C.c \
softPwm.c softTone.c \
mcp23008.c mcp23016.c mcp23017.c \
mcp23s08.c mcp23s17.c \
sr595.c \
pcf8574.c pcf8591.c \
mcp3002.c mcp3004.c mcp4802.c mcp3422.c \
max31855.c max5322.c \
sn3218.c \
drcSerial.c \

wiringPi source:;a=snapshot;h=5edd177112c99416f68ba3e8c6c4db6ed942e796;sf=tgz

General Development / Re: C expert needed
« on: June 02, 2015, 02:43:51 PM »
In my humble opinion, it looks like your wrapper is not properly configured.
What do you mean? How can I properly configure my wrapper? I thought the wrapper doesn't do anything but point to a function in an object file.
And also I thought if the object file contains extra functions that I don't link then it doesn't affect my program.

i can recommend NodeMCU (
the processor is the same chip as the wifi chip, so you have a small footprint.
Thanks, I have a wifi module (ESP-03) with that chip, but as far as I know that is not in the same ballpark as the RasPi.

General Development / C expert needed
« on: May 30, 2015, 09:00:25 PM »
Hi all,

It's completely not related to ML developing but I hope somebody here can help me with this problem.

There is a mini computer called Rasberry Pi 2. It runs linux (debian wheezy) and I would like to use the hardware IO ports of it from Lazarus (free pascal compiler and ide).
There is guy who developed a software library called wiringPi with C source.
Until now I used the previous model of Raspberry Pi and an old version of wiringPi's object file with a Pascal wrapper I wrote for it.
Right now this old version cannot work because the hardware changes of the Raspberry Pi 2, so I need the new version of wiringPi.
And the problem starts here: If I build the newer wiringPi from the sources the new object file contains several strange symbol like __aeabi_idiv, __aeabi_idivmod, etc.
When I try to use my wrapper with this new object file the pascal linker cannot handles this symbols, so it fails on it:
/usr/bin/ld.bfd: wiringPi.o undefined reference to symbol '__aeabi_idiv@@GCC3.5'
//lib/arm-linux-gnueabihf/ error adding symbols: DSO missing from command line

I peek inside the object file with objdump -t and see this symbol as
00000000    *UND*  __aeabi_idiv

Also I see it in the with objdump -T
0000f950 g    DF .text  00000000  GCC_3.5     __aeabi_idiv

I tried to remove this strange symbols from the object file with objcopy --strip-symbol but it said it not stripped because it is named in a relocation.

I tried to search on the web and find not too much but I feel this is something similar to it:

Is there any way to create this .o file without these __aeabi stuff?

I have no idea how I can solve this so please give me some clue if you are more familiar with these things.
Thanks in advance.

Edit FYI:
I use this Raspi to control a camera through Wifi and not just the camera itself but some servo motor which turns the focus wheel and change the aperture during a long exposition shot and remote control several flash units by radio.

Camera-specific Development / Re: Canon 7D Mark II
« on: May 16, 2015, 07:27:07 PM »
Another interesting strings: hundreds of COCOA functions.


Camera-specific Development / Re: Canon 7D Mark II
« on: May 15, 2015, 11:23:52 PM »
Chucho has just found an interesting string in the fw:
0xfe1a0912 "MemMgr (Rec4K2K) %ld %ld"

Camera-specific Development / Re: Canon 7D Mark II
« on: May 15, 2015, 07:02:20 PM »
Last night, g3gg0 and I took a quick loook at the firmware update, and here are our first notes:
Thank you! I hope you and g3gg0 can make a dumper for it.
I would be happy to try.

- instruction set is Thumb-2.
So the Digic6 has an ARMv7-M architecture, isn't it?

Camera-specific Development / Re: Canon 7D Mark II
« on: May 13, 2015, 09:41:29 AM »
No. My fault. Just haven't found the 'gaonisoy' string in the updaters...

Camera-specific Development / Re: Canon 7D Mark II
« on: May 13, 2015, 09:27:34 AM »
It seems they've changed the decipher keys for the updater (or just haven't slept enough). :-(

Pages: [1] 2 3 ... 17