T7i 800D

Started by arvakur, October 08, 2023, 08:15:30 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

arvakur

Hey! Hello everyone!!! Greetings from México!!

So this will be short... i Hope lol...

So im Israel from México city, so ever since i had the oportunity to test ML on a 5D i was So inloved that software... but it was on a firends camera, then well i thought if i bought a T7i well i would have a better cam right? But after this many years of waiting and not knowing a thing on programming... i know that maybe i should have gone for a camera that had s-log right? Instead of waiting for an update on the T7i... which it never came eventually.

Though now im starting to learn to program in python, im still a noob to that...

So well im here because I think that we as camera users, owners should be able from the start to have  a real good cameras right? I mean if the camera can output 10 bit to 14? 16? DUAL ISO? from FHD to 5k? 60p? Zebras? False color?

Anything ese is better than rec709 8 bit...

I really mean that if those are the capabilities of the camera but you cannot access them from the start then theres something wrong right? Its like that topic on obsolet programation... right?

So im really thanfull with you guys for doing something as amazing as this, keep it up. Im just a noob and i really want to learn, but how? How do i even start?

I asked if there was going to be a release for my camera... so now its been what? Like almost 6 years... (T___T) and believe me if I was able to help i would, if i had the chance to know programming ID be happy to help release the true potential of this cameras.

So can some one help me please im traying to know how to build a ML versión for the T7i which is a 800D, Digic 7 firmware 1.1.0

I downloaded the dev folder of the MLSimplified? I opened it in VS code... but how can i do it?

how do we work on it? Im really starting to learn programming, but damn im just starting and well is it going to take me forever?... so i need a lot of help  here, because i love my camera and its so Hard to know that it has so many potential but you cant access it... not even download a firmware update because it doesnt even exist...

This should be considered as ethical hacking, right?

Hope that there is some one that has already put ML into the T7i that can help me, because it was So frustrating that many caneras were given an update, lots but not my camera lol... why? How can i help?

Hope you all are doing grate, thanks for taking time on my post.


names_are_hard

Hi!  I'm glad you enjoyed using ML.

Nobody is working on the 800D.  No dev has this camera.  There is no code for 800D for you to build.

To work with ML code you'll need to learn C.

arvakur

🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣

1st. Thanks for taking your time to read and answering.

I'll be back in 2030 lol... but is there a guide? To even start?

Do i make the developer guide? Would it help me? I downloaded the dev but i mean im just a real real noob on that field so... i opened it in VS code...

Anyway i feel real pasión talking bout cameras... so in the means of programming them,  ID be glad to learn... so the reason i bought that camera was because i studied cinema so i dont wanted to phtograph with it, ya know ... i want to récord... because of my friends handing me his 5D with ML installed my way of reasoning that was that if I get the next camera ill be able to install that right? Some one will make a build for it... So... it never happened.

So ID be glad to learn all just to be able... even if i get another camera that fit the needs.



And that part of inverse ingenieering looks amazing but damn... so to get the stubs.S file from a firmware ".FIR" file.

I wish i knew something bout programming but anyway...

The following cameras are using this processor:

The Canon EOS M5, a mirrorless interchangeable lens camera, introduced in 2016.
The Canon EOS 77D and Canon EOS 800D, introduced in February 2017.
The Canon EOS M6, announced in February 2017.
The Canon EOS 6D Mark II released in July 2017.
The Canon EOS 200D, known as the EOS Rebel SL2 in the Americas and EOS Kiss X8 in Japan, released in July 2017.
The Canon G1 X Mark III, October 2017
Last in this series is the Canon EOS M100, released in August 2017.

Xxxxxxxxxxxxxx

So in all the above its the same camera processor but different firmware?


Quote from: names_are_hard on October 08, 2023, 02:28:26 PM
Hi!  I'm glad you enjoyed using ML.

Nobody is working on the 800D.  No dev has this camera.  There is no code for 800D for you to build.

To work with ML code you'll need to learn C.

names_are_hard

Yes, that list of cameras has the same main processor, but the firmware interacts with more than that.  E.g. the AF system is likely different on different cams.  Every camera has a unique firmware, and every camera requires effort to create an ML port.

To create a port for a new cam, you'll need to learn several skills.  How to program in C is one of those, and it's very easy to find guides for learning this.  So that's what I'd recommend first.  It is likely to take you a few months to get to an okay level of experience.  If you get that far, I'll happily give you a list of what to learn next :)

Re VS Code, I've never used it and don't think any ML dev is using it.  I believe it would be possible to configure it to build an ML repo (it's a standard Unix make build, nothing weird).  It won't help you since there's no support for 800D.  And there are easier ways of building ML.

arvakur

Quote from: names_are_hard on October 08, 2023, 09:36:10 PM


To create a port for a new cam, you'll need to learn several skills.  How to program in C is one of those, and it's very easy to find guides for learning this.  So that's what I'd recommend first.  It is likely to take you a few months to get to an okay level of experience.  If you get that far, I'll happily give you a list of what to learn next :)

Re VS Code, I've never used it and don't think any ML dev is using it.  I believe it would be possible to configure it to build an ML repo (it's a standard Unix make build, nothing weird).  It won't help you since there's no support for 800D.  And there are easier ways of building ML.

Please chow me the ways...  please máster lol.

I Just want to learn...  please jajajaja

By now maybe when thet release the amount of cameras sold in 20 years they will say something like.

So we had the  DIGIC 7,  in 10 cameras... but
the  T7i...  sold a total  1k units or at leas 100? 10? in which i was one of them  in all the world... because by that time the conpetition like Sony had already cameras of the same valeu doing s-log.

Any way thanks... so C right?

Im starting to learn python lol... so just to create that i will en up learning other stuff that sounds cool... i even downoaded already a lot of stuff to disassemble the FIR file...

🫡🫡🫡🫡🫡🫡🫡🫡🫡🫡🫡🫡🫡🫡

Damn ID be happy to see c log profile and all the pro stuff you can do in a t7i...

names_are_hard

Yes, almost all ML code is C.  A small amount is ARM asm.  Python is used outside of ML for some tasks.

You don't need to look at FIR files, and this will be a hard task for you, I wouldn't recommend it.  You can dump the ROMs from your camera: https://www.magiclantern.fm/forum/index.php?topic=16534.0

To understand the ROMs I would recommend Ghidra, but it won't show you anything useful until you have more understanding of C (and ideally ARM asm).

Walter Schulz

To bust a pipe dream: ML project will never port Canon's C-LOG to any cam and will not support anyone trying to do so.
Same for other Canon features not included in Canon's firmware for a specific cam.

Examples:
Project was asked a lot to port AFMA to entry level cams. Project declined such requests.

ML enabled video (H.264/MOV) for 50D. Code was in firmware and ML (more or less) just created a menu item for it.
Same for electronic video zoom feature for M, 100D, 650D. 700D. Canon introduced feature with 600D and code was there for those cams, too.

ML project considers to be on Canon's good side and our intentions are to stay there.
Violating Canon's IP is not an option.

names_are_hard

I might be wrong but I assume there is a distinction here between "port Canon code" to get feature X and "implement feature X ourselves".  E.g. Canon "DSLR" line has official raw video now, but presumably nobody thinks we should remove our implementation.  Here it's very clear we didn't take anything from Canon.

Therefore I'd assume it would be fine to implement some log-like raw format, if we could work out a way to do so ourselves.

arvakur

So i have anotjer question if there is a way to build up a script into the camera that can putput all the camera settings in a plain text... im jus day dreaming... :) lol

I mean so let the camera i dont know make a text file with all the settings of it.

Idblove to disassemble and all that stuff jajajajajaja but hey... i mean i already waited 6 years? Hahahahahahah

Is there a way?

arvakur

Quote from: names_are_hard on October 09, 2023, 01:51:48 PM
I might be wrong but I assume there is a distinction here between "port Canon code" to get feature X and "implement feature X ourselves".  E.g. Canon "DSLR" line has official raw video now, but presumably nobody thinks we should remove our implementation.  Here it's very clear we didn't take anything from Canon.

Therefore I'd assume it would be fine to implement some log-like raw format, if we could work out a way to do so ourselves.

So i have anotjer question if there is a way to build up a script into the camera that can putput all the camera settings in a plain text... im jus day dreaming... :) lol

I mean so let the camera i dont know make a text file with all the settings of it.

Idblove to disassemble and all that stuff jajajajajaja but hey... i mean i already waited 6 years? Hahahahahahah

Is there a way?

arvakur

how bout puting this on the stubs.S file? 

   
#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>

typedef void (*DetectAndWriteInfoFunction)();

int main() {
    // Load the custom library containing detection functions
    void* custom_lib = dlopen("custom_library.so", RTLD_NOW);

    if (!custom_lib) {
        fprintf(stderr, "Error loading custom library: %s\n", dlerror());
        return 1;
    }

    // Load detection function
    DetectAndWriteInfoFunction detectAndWriteInfo = dlsym(custom_lib, "DetectAndWriteInfo");

    if (!detectAndWriteInfo) {
        fprintf(stderr, "Error getting function pointer: %s\n", dlerror());
        dlclose(custom_lib);
        return 1;
    }

    // Call detection function
    detectAndWriteInfo();

    // Clean up
    dlclose(custom_lib);
    return 0;
}



#include <stub.h>
/** Python Script Interacting with the Camera Firmware **/
#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>

typedef void (*GUI_ControlFunction)();
typedef void (*SetGUIRequestModeFunction)();
typedef void* (*AllocateMemoryFunction)(size_t);
typedef void (*FreeMemoryFunction)(void*);

int main() {
    // Load the shared library containing the firmware functions
    void* firmware_lib = dlopen("firmware_library.so", RTLD_NOW);

    if (!firmware_lib) {
        fprintf(stderr, "Error loading firmware library: %s\n", dlerror());
        return 1;
    }

    // Load firmware functions
    GUI_ControlFunction guiControl = dlsym(firmware_lib, "GUI_Control");
    SetGUIRequestModeFunction setGUIRequestMode = dlsym(firmware_lib, "SetGUIRequestMode");
    AllocateMemoryFunction allocateMemory = dlsym(firmware_lib, "_AllocateMemory");
    FreeMemoryFunction freeMemory = dlsym(firmware_lib, "_FreeMemory");

    if (!guiControl || !setGUIRequestMode || !allocateMemory || !freeMemory) {
        fprintf(stderr, "Error getting function pointers: %s\n", dlerror());
        dlclose(firmware_lib);
        return 1;
    }

    // Call firmware functions
    guiControl();
    setGUIRequestMode();

    // Allocate and free memory
    void* allocatedMemory = allocateMemory(1024);
    freeMemory(allocatedMemory);

    // Clean up
    dlclose(firmware_lib);
    return 0;
}

arvakur

ID like to ask all the questions and though i think we mus use stuff like ai because its a tool that is able to help us more than a humans an ia is available to help you and more than us humans thar we can get tired of something

So my question goes for say if we can inport librerías into the computer why dont we upload something thats not harmfull to tje camera it just that reads all the camera properties and prints them into a .text file...


names_are_hard

It's hard to understand what you mean.  The code you've listed doesn't make any sense and couldn't run on Canon cams.  You ask about "output all the camera settings in a plain text" - this doesn't make sense and we don't need "camera settings".

I think you're saying something like "why can't we run code that will tell us what we need to know?".  We don't know what questions to ask.  How would we write the code?  AI isn't magic.  It hasn't been trained on these cams, it doesn't know what to do either.

arvakur

Thought i said... im a noob... and i want to learn.

names_are_hard

Yes, I'm trying to help you by answering your questions.

But really, if you want to learn how to work with ML: you have to learn C.