BenF 3.x FW on new LCD driver devices [flick. screen solved]

Thanks for posting that firmware source drop. That’s cool they let you have it. It should very much be possible to update the BenF firmware to support these newer devices if we had his source. I can’t believe he won’t make it available. I’d be willing to put time into such a project.

We have the sources for BenF’s firmware, just not the latest version. He has previously stated that he does not see any reason to open-source his software if nobody makes something out of it.

This is a good opportunity to make use of the available source code. It should not be too difficult to paste the 9341 display routines into the old firmware code. The work can easily be forward-ported if we ever get hold of newer firmware sources in the future, or be picked up by BenF if he is interested.

I’ll try to help out with code questions if someone gives this a stab. I have even bought a 9341 LCD module in the hope of testing out firmware code on a STM32 development board, but unfortunately the module has only SPI and not parallel interface so I can only verify higher level display code but not the exact driving code. Getting something on the DSO screen in the first place, by developing “in the dark”, is the greatest challenge.

I’m just a lurker (and not a programmer) chiming in to applaud you for your efforts to get the BenF firmware to work with the newest DSO201’s LCD. I have one of these but it’s useless to me until I can run BenF on it. Please keep us updated on your progress!

I’m another disappointed newbie who stumbled across the lcd driver incompatibility with my recently purchased v1. Can someone point out to me where this issue originally surfaced? And my best wishes to anyone who can modify BenF to make it useable!

Maybe the task of adding the new LCD support to the open-source BenF version is something that can be crowdfunded? I think I should be able to do this but I would need a unit with the new LCD to work on. I don’t even need to keep it, but I wouldn’t like to just borrow someone’s precious unit since my testing could possibly damage it. If enough of you pitch in for a Christmas gift, I could find some time in my Christmas vacation if not before :slight_smile:

You can count me in for a bounty on new LCD driver compatible firmware!

I’ve been looking at the 4.22 firmware source and the available open benf firmware, but I’m lost. I’m in the novice stages of Arduino development, and just started playing around with programming AVR’s with USBasp and the Arduino IDE… I recognized just enough code in the benf source to get a very rough idea at what was going on in some of the files, but when I looked at the Chinese 4.22 firmware I got lost, there’s quite a bit of foreign characters in there…

It’d be great to get someone that knows the ins and outs of this hardware and software to make a 3rd party firmware work, and possibly breathe some new life into the development in general.

I upgraded BenF LIB3.01 APP 3.11 for new LCD. If someone provide me newest BenF source I will do same on it.

Enjoy my friends!
LIB301_APP311.ZIP (36.3 KB)

I didn’t have any luck. :frowning:

I copied the files one at a time, each went to .rdy, but on restart I still had OFW 4.22 running.

I to rule out a device issue, I uploaded the custom FW version that causes the white screen of death (seeedstudio.com/wiki/images/ … LIB353.zip), and predictably wound up with the flashing white screen.

I tried to reflash your files again, and again, they went to .rdy, but on restart there was a flashing white screen.

I went back to OFW 4.22, which installed and ran fine. Then I tried your firmware again, but with the same result as the first time, 4.22 stays on.

I’m not sure why it would go to .rdy when I upload your files and still have nothing take effect, but it looks like that’s what it’s doing.

I’d be pleased to try it again if you have any more suggestions or versions!

rimidalv007, can we have the source code please?

What info contain your boot screen? Try attached files in this post.

Not for now. If I get full newest source BenF fw I will publish my work in one day (after check authenticity)! Reason is: I several times worked on similar things(patching and fixing fw’s (on binary level), much complex than this) and publish it and someone get it and continue work on newes versions without publishing. I just want stimulate people to share. If I don’t get BenF new source, I will try to contiune work on this version to improve performance and bug fix depend on my free time. If someone does not have the patience can do it alone. It’s relative easy. I spend about 3-4hours, worked in night between 3:00AM- 7:00AM :slight_smile: but job less than 1 hour. At first I had a little familiar with original source.

I had nano just one day and motivate for my work is trigger missing in factory version which is most important for me. I thought to write from zero, but someone alreday did nice job.
LIB301_APP311_2.ZIP (36.3 KB)

It works! You are a genius!

Most excellent work! Now hopefully we can get source for the newest version?

Wow, never imagined I’d see BenF boot up on my nano… :smiley:

Thank you rimidalv007! Good job!

Single shot works! Now this DSO is usable to me. Unfortunatly, I cannot set/reduce buffer size on low timebase with this version of Benf Firmware? :frowning:

Was it hard to implement the new display driver? Maybe there could be an easy way to disassemble the hex-file of Benf 3.64 and insert the new display driver too?

[edit]

The first uploaded firmware fell back for me too, but the 2nd posted one worked great. :smiley:

My browser had some issue, I just forced refresh and found 2-nd version.

rimidalv007, You did it! 3.11 BenF on ILI 9341 LCD! Congratulations! You got my admiration and gratitude!
Now we all hope for the latest and most polished BenF source.

rimidalv007 – you are amazing! You have great skill. If anyone else can help getting the latest BenF ported to the new display, please ask. Otherwise, we wait for your excellcent work with the latest BenF version.

rimidalv007, great work! But please read the Readme file in BenF’s source code. The full license can be found for instance here: gitorious.org/dsonano/dso-firmw … ce/COPYING

Seems like standard LGPL. Rimidalv007 may publish source but he’s not required to do so. Form LGPL wiki:

The LGPL allows developers and companies to use and integrate LGPL software into their own (even proprietary) software without being required (by the terms of a strong copyleft) to release the source code of their own software-parts.

As BenF 3.11 source is available, the modification to the display driver doesn’t have to be.

He is required by law to distribute the modified source code, everything that is derived from the BenF source code.

“integrate” means here using together, but with a clear distinction between the LGPL-licensed code and the other code that is used in the system. It does not allow freely mixing the LGPL code with other code and distributing the result without source code.

What the LGPL allows is using the unmodified code as a library (or software module) in an otherwise proprietary (or other non-LGPL) software system. For example you can write an APP from scratch and use the BenF LIB as-is. But any modification you make to the LIB to accommodate this would be covered by the license and you will need to provide the modified LIB source code.

How about patching binary files?