Waiting for S5is CHDK here! - page 5 - DryOS Development - CHDK Forum

Poll

Do you really want CHDK for S5? ;)

YES!
25 (83.3%)
SURE!
1 (3.3%)
GIVE ME!
4 (13.3%)

Total Members Voted: 19

Waiting for S5is CHDK here!

  • 52 Replies
  • 24224 Views
*

Offline enilnacs

  • *
  • 6
  • Canon PowerShot S5 IS
Re: Waiting for S5is CHDK here!
« Reply #40 on: 24 / March / 2008, 22:17:01 »
Advertisements
Yes, I'm ignoring them. I'll release my stuff when I feel it's sufficiently 'de-crapped', it should almost be done. I also feel like I want to complete this myself, given the amount of time I already spent on this and given how near I am (I think) to completing it. ...

... For the testing: please, people. I've worked with unsupported, hacked platforms before and all the 'I can help testing' messages are really meant like 'I want it now so I can show off!'. While this might not be entirely true for CHDK (there's no Doom game in it), I still don't require anyone for testing. The cameras are identical as far as hardware is concerned and if the software differs, CHDK will likely not work at all. If I require any testing, it's from the 1.01A folks when and IF I decide to have a shot at porting it to that model. ...

Although i very much appreciate :) your tenacity and your hard work, i have the feeling that you partially missed some basic ideas (hopefully i am wrong).

So some things I need to clarify:

CHDK is a community project. Without many, many, hours and sharing of a LOT of people, this amazing task could not have been accomplished so fast and good. People that want to "show off", would not ask (like me) to get the code progress without knowing that there is STILL a big amount of coding/disass. still to be done.
Like I said, its always about the community, even if you are very brilliant, it would be still wiser to  share and let other people to work in parallel based on your work, also being faster. And don't be afraid, nonfinished software cannot be used by the "show off people" but the developers, and also don't be afraid that you won't get credit on what you've done! People appreciate pioneers.
Yes you have the right to do it only on your own for fun, no doubt, but think about the OSS/community/shared work and it's ideals.
For me, after your post i am seriously thinking about starting from the scratch. Which of course, without your work, is an additional waste of time, instead of starting from where you are now, but i am willing to do it even if i dont have much spare time.
I hope i didn't make you angry, i intend to harmonize work, this is what the community is all about!
And Dataghost, i KNOW how hard that work is, believe me.

Hopefully you did not misunderstood me.  8)

Re: Waiting for S5is CHDK here!
« Reply #41 on: 25 / March / 2008, 04:57:01 »
This may not be most people's concern, but I also know how people can mysteriously disappear off the net, for who knows what reason. Be it family crisis, unforeseen illness or accident, a lightning strike taking out their computer and all their hard work, a hard-drive that fails long before its time, a power-supply dying and its surge wiping out everything in the computer, etc.. I know that when it comes to my own data and work (if it's eventually meant to be shared, no matter how far from now), I upload it and share it as soon as possible so that should something happen on my end, I can retrieve it later after the dust has settled that might have caused my losing it.

I feel many times that the anxiety that others feel is that all your work could be lost for good due to unforeseen circumstances. And someone will have to start from scratch. I understand your reasons for wanting to keep it to yourself. (And personally, I feel a bit of smugness knowing that my 2 year old S3 still beats everyone else's S5's in capability with CHDK, so I'm not all that excited about you releasing your preliminary code or builds. :) So if I had to vote, I'd say don't share it! :) ) But consider the other reasons I mentioned on why it might be a good idea. I'm nowhere near the coder that all the rest of these people are here. I had a hard enough time just trying to make heads and tails of that simple AutoISO patcher so that I could make it write the extra MakerNotes data-fields that CHDK creates for the override features. But as soon as I had something that only barely worked, I uploaded it along with a lengthy thread on every step of my progress, so that someone else could fix it, make it better, or just pick up where I left off if a lightning strike or something took out my computer. Even someone with skills no higher than scripting in uBASIC could have picked up where I left off.

You never know what might happen. I err on the side of backups and safety. And no better way than to preserve something than upload it to the net. Chances are that someone, somewhere, will have downloaded it and it might be retrievable again.

From my own personal feelings, I say, don't upload it!! My S3 is STILL better than anyone else's S5s right now! YAY! But from everyone else's perspective and safety, then I grudgingly advise that you share it. :)
[acseven/admin commented out: please refrain from more direct offensive language to any user. FW complaints to me] I felt it imperative to withdraw my TOTAL participation. Nobody has my permission, nor the right, to reinstate MY posts. Make-do with my quoted text in others' replies only. Bye

*

Offline DataGhost

  • ****
  • 314
  • EOS 40D, S5IS
    • DataGhost.com
Re: Waiting for S5is CHDK here!
« Reply #42 on: 25 / March / 2008, 05:18:20 »
[..]

Although i very much appreciate :) your tenacity and your hard work, i have the feeling that you partially missed some basic ideas (hopefully i am wrong).

[..]
Well, this may be caused by the fact that my first real encounter with a community (as a developer) is with one that consists (for a large part) of 10-16 year old children who want nothing more than show off 'their' stuff. All they do is whine about 'do this, that would be cool' and whine even more when nobody does it. The people in the core developer team of that project are really the only people that get stuff done, apart from four, maybe five people from the 20000 that are apparently in the community (registered on the forums). I have even seen someone take my code (ok, I admit.. some sort of proof of concept), change some minor things and RENAME it, not changing anything significant until I did. Maybe that's what partially causes my current behaviour :)

Still, I haven't really seen anyone consider working on this project until shortly ago, so there was no real need to release anything. Now that you do show some interest, I just feel that it's a bit late (nofi) and that I want to do the final stuff myself.

*

Offline enilnacs

  • *
  • 6
  • Canon PowerShot S5 IS
Re: Waiting for S5is CHDK here!
« Reply #43 on: 25 / March / 2008, 09:56:43 »
Ok, go for it! Thumbs up.   8)

Do you have any release approximation (not date!), lets say, 1 month, 3months, etc...
Even if you say when, its clear that you are not obligated to keep that timeframe, it's ok.
Because if you say over 6 months, i will try to start it on my own.

I can't agree 100% with you on the "children community" stuff. Although it's true that there are alot of stealers and lamers (lol), the open source idea still works.

What i mean is: open source means OPEN source (the risc of being stealed is INCLUDED :(). Even so it paradoxically does function.

Also BECAUSE there could be so few true developers, there is a huge reason to share, because you can never know who can get the work done.

Of course, the right and choice is yours when and even if you make it public. 8)

Perhaps i am an naive idealist and need a brain therapy.  :D
so don't take me too serious  8)


Re: Waiting for S5is CHDK here!
« Reply #44 on: 25 / March / 2008, 22:59:06 »
Yes, I'm ignoring them. I'll release my stuff when I feel it's sufficiently 'de-crapped', it should almost be done. I also feel like I want to complete this myself, given the amount of time I already spent on this and given how near I am (I think) to completing it. Please keep in mind that I mainly do this for fun and for myself. As with another project which nobody seemed to make any progress with or care, I started coding it myself because I didn't feel like waiting. With this project, I learned ARM assembly and got some nice information about how my camera works. THAT is what I like about stuff like this. When you keep posting things like 'I can help test' or 'any ETA?', I get these mixed feelings. I do like that people want to use my work, stuff I put a lot of time in, but on the other hand it feels a bit pushy, I really want to decide the amount of time and when I spend on it myself.



 Hi,

 I am a fairly new S5 user ( Dec) and have been watching this thread for awhile now. I want to thank you for the time you have spent on this and look forward to the end result. with that said, why dont you setup a paypal , or similar acct. and have people make donations? I for one would'nt mind making a donation for a program like this, I hope others feel the same?

*

Offline DataGhost

  • ****
  • 314
  • EOS 40D, S5IS
    • DataGhost.com
Re: Waiting for S5is CHDK here!
« Reply #45 on: 01 / April / 2008, 20:24:28 »
I'll accept any amount of money anytime, however not in the way you state it. That's not the spirit of this project and it wouldn't be fair towards other developers.

Anyway, status update then... To my best knowledge, everything is working except
- ISO override/bracketing (calculations seem way off or don't work at all)
- Video overrides. I kept forgetting about this because it's not in my main CHDK menu. I'm not even sure if it's necessary on S5 but I think so, I'll look into it asap.

Still requires more testing:
- Subject distance + all DOF setting possibilities. Not all behaviour was tested yet.
- A few RAW settings however I don't think they're platform-dependent
- Scripting. While a lot of basic stuff already works, I haven't tested many commands.

Known flaws/issues
- Subject distance override/bracketing as well as zooming (apparently only while taking a picture (open shutter etc.), not before) cause the camera to crash (or less often: not override, although I can't really reproduce that) when manual focus is not set. Can be worked around by checking/setting MF (propcase) but that still needs to be implemented some way. I'll probably have to move that particular function into the platform-dependent section then.
- I still have to look through ALL hooked assembly code, clean it up and shorten it.
- I still have to look through the platform-dependent (S5) code, there are still a bunch of FIXMEs I probably left for later work. No idea how long this will take.
- I'll have to skim through the code or at least the menus to make sure I didn't miss any functionality potentially available on S5 (though not enabled for all platforms), like the video stuff.
- My code is based on a build from late february, I'll have to see if it still works with the current codebase and fix where necessary.

I guess I can release it after these fixes :) but I can't really give you a hard ETA. I *THINK* I'll get this done over the next couple of days but that depends on the complexity of the problems I might still run into.

FYI: don't get your hopes up if you don't have 1.01B. It'll still have to be ported to the other versions, though that'll be a lot easier.
« Last Edit: 01 / April / 2008, 20:31:32 by DataGhost »

Re: Waiting for S5is CHDK here!
« Reply #46 on: 01 / April / 2008, 21:42:39 »
You forgot to add one more option to your poll.

"No, I don't want someone else's newer camera to finally be almost as good as my old one." :)

I guess I can always still feel smug in knowing that my burst-shooting features, bracketing, etc. will still always be faster. :) The rest of the S5's "new"(?) features were of no concern to me. And in fact, the slower continuous shooting mode was a reason I immediately rejected it. I don't use it often, but when I do that little extra speed is important.
[acseven/admin commented out: please refrain from more direct offensive language to any user. FW complaints to me] I felt it imperative to withdraw my TOTAL participation. Nobody has my permission, nor the right, to reinstate MY posts. Make-do with my quoted text in others' replies only. Bye

*

Offline romualdo

  • *
  • 4
  • S5IS
    • Gruda On-Line
Re: Waiting for S5is CHDK here!
« Reply #47 on: 02 / April / 2008, 08:48:05 »
DataGhost, you are my idol!

You probably didn't notice, but I never asked you (or anyone else) when CHDK for S5 will be ported. I didn't want to bother you, because I'm a programmer too, and I KNOW how it is when someone is pushing you. Now that you are so close, I felt that I had to say something, and I want to say "Thank you".

Now, I'm wondering, since I don't know ASM or anything related to firmware porting, how much did you know about all that before you started your work, and is it hard to learn? I work in Delphi, so I can't say that I'm familiar with C/C++ either. Since my S5 FW version is 1.01B, I hope I won't need to know, but the idea of manipulating software of my camera sounds very interesting :)

Thank you once more!


*

Offline DataGhost

  • ****
  • 314
  • EOS 40D, S5IS
    • DataGhost.com
Re: Waiting for S5is CHDK here!
« Reply #48 on: 02 / April / 2008, 11:04:51 »
DataGhost, you are my idol!

You probably didn't notice, but I never asked you (or anyone else) when CHDK for S5 will be ported. I didn't want to bother you, because I'm a programmer too, and I KNOW how it is when someone is pushing you. Now that you are so close, I felt that I had to say something, and I want to say "Thank you".

Now, I'm wondering, since I don't know ASM or anything related to firmware porting, how much did you know about all that before you started your work, and is it hard to learn? I work in Delphi, so I can't say that I'm familiar with C/C++ either. Since my S5 FW version is 1.01B, I hope I won't need to know, but the idea of manipulating software of my camera sounds very interesting :)

Thank you once more!

It's very interesting indeed, I have to keep myself from drifting off and I should concentrate on making at least an initial version available. I was annoyed by not being able to set manual focus through CHDK (camera crashes when setting subject distance with no MF set) and couldn't get it to work through a propertycase, so I accidentally spent the last half hour decoding physw (keyboard handling), a lengthy process which I shouldn't be doing now :)

Anyway, how much did I know... Well, first of all... I knew what ASM was, and what it looked like. I never really looked into the actual meaning behind ASM code so I always wondered how something was possible in ASM (every code is possible in ASM but I didn't really allow myself to think like that, for some strange reason). Until I started studying CS at the university, I never really bothered to take a look (as almost every other student) and all of a sudden we had to program a device in a simple flavor of ASM. We also had lectures about how computers actually work on the inside (specifically: CPUs, memory and low-level stuff in general) and it all started making sense. Of course, it takes some getting used to, but by just doing it and seeing what happens, I learned a great deal about ASM programming in a very short time.
A couple of months later, I bought my S5, found CHDK and after a while I thought... heck, I can do that. I gathered some documentation (asm dialects/versions are quite different but the basic idea is the same) and started trying to figure out what the firmware did, why simple programs compiled to specific ASM code, and so on. Starting off with
Quote
LDR R0, =0xC02200E0
LDR R1, =0x46
STR R1, [R0]
I quickly wrote a couple of very simple programs that would do various things with the AF led. Once I managed to dump the complete firmware I had some trouble getting started but after a week or two I really got the hang of it and things went a lot better. Now ASM isn't really a mystery to me anymore, kinda takes away the magic a bit but it sure is useful to know it and be able to write it.
So basically, if you also want to get started, you could read the DryOS porting thread and eh... just start coding some things, try to figure out what existing code is supposed to do, etc. You'll only master it by working with it, I think. Oh, and it's very important to read this ARM ASM reference guide, it contains a lot of information about the architecture itself, besides the actual ASM syntax and meaning. You really need to know how the architecture works, why certain things happen/are possible and why certain things won't work. For example, you cannot use the MOV instruction to load an arbitrary 32-bit integer into a register (you have to use LDR for that), because the instruction, register and value have to be stored in ONE 32-bit instruction. You can find more information about ARM instruction encoding in this document.
If you know the basic ideas behind programming and computers, it's certainly doable within a short time. It worked for me, your mileage may vary, though.

I do think it's at least somewhat useful if you know C/C++ or at least some pointer handling (in Delphi), since that's a concept you'll see a lot. I actually dereferenced a pointer in that snippet of ASM I posted above. By the way, knowing C is useful for normal CHDK code as well, since it's written in C :) . Still, if you feel like learning ASM is a lot of work, there is a lot you can also do in C once CHDK is running on your camera.


Anyway, status update:
I cleaned up some of the code, I rewrote the keyboard handling code to something that makes sense to more people than just me, and the camera won't crash anymore when overriding subject distance (however manual focus needs to be set for it to work, else it won't override anything). I still have to do the complete ISO override thing, though. Video override seems to be unnecessary at this time, although I'm not sure if that's because nobody figured out how it works in DryOS or if it's not necessary :)

I still have to clean up the rest of the platform code, read through, clean up and truncate all 175 kilobytes of currently-hooked ASM code and after that I'll have to make sure that it still works in the current trunk, see if I didn't miss any functionality and add/fix where necessary.
Oh yeah, I'm using a *slightly* different compiler which uses no ARM architecture/CPU in particular (well, I just don't know what the default is). Because of this, it doesn't complain on ASM instructions like STRD <whatever> and BLX R12, which the processor clearly supports (it's used in the firmware, encoded as such (I verified the bits) and it also runs fine in CHDK). In order to be compatible with the default CHDK compiler, I have to find those instructions and replace them by equivalent (more) instructions. I cannot 100% guarantee that I won't run into additional errors because of that.

Re: Waiting for S5is CHDK here!
« Reply #49 on: 02 / April / 2008, 23:52:48 »
DataGhost, I just want to thank you for all the ahrd work you've done. I only have a basic grasp of programming in general (and then only in .NET which, when compared to ASM, is the difference between being driven somewhere and building yourself a car and driving yourself there) and I can't even begin to fathom the amount of work you've had to put into this project.

 

Related Topics