Jump to content

Fast MMIO GPIO for H2+, H3, H5, H6 and S905


Recommended Posts

Posted

I was able to build the property file for the NanoPi M1 in about 20 minutes, so now basically you can do ~2 MHz GPIO square wave on all Allwinner and S905 CPUs (you listening @TonyMac32?) without any special code or adapters. All other libraries require one off code to support GPIO register access thus they only support limited boards. In my mind this is the holy grail for cross platform GPIO performance. I plan on going through some more diverse boards, but I'm happy with the results so far. Since only one core is utilized you'll average 25% CPU utilization on quad core systems. That may be another goal using two threads to improve performance further. I have currently mapped Nano Pi Duo, Nano Pi M1,  Nano Pi Neo Plus2 and Odroid C2.

 

Check out Java Periphery for more information.

 

Another thing to consider is that you can utilize the property files in other languages as well since there's Periphery APIs for C, Python and Lua as well.

 

 

Posted

I know, right? I had to power refactor the code after the S905 register madness. The good thing is the C2 (including J7) is supported generically.

Posted

I have been meaning to tell you @sgjava that, while I have no practical use in mind at the moment, I have been following your forum announcements for some time and find your work interesting.  And your explanation of where it fits in the marketplace and what problems does it solve will probably stick with me for some time and I surely will use it (or more likely, recommend it to someone) at some point.  So thanks for your work and also for explaining what it does, where it fits, why, etc...  Far too few developers seem to manage this latter part in any way at all, much less as well as you have.

 

Cheers!  :thumbup:  :beer:

Posted

@TRS-80I'm basically using the Armbian philosophy of making cross platform a reality.  While SBCs like Raspberry Pi think they have a better ecosystem Armbian supports 100+ boards, so having software that can take advantage of that is more important in my opinion. I mean I'm basically using 15 Java classes to cover all the userspace IO stuff. Take a look around and you will see libraries with 100s of classes. In my mind it's pretty easy to support various devices, so I'm just concentrating on making the core solid and portable. In fact I just included the ODROID XU4 today which a lot of libraries do not support. Anyways, thanks for the recognition. Two home made ciders downed before dinner after today's commits. Back to work Monday...

Posted

Yes it's your architectural choices that I seem to appreciate the most (besides your elucidation of them).  I don't even know much if anything about the space, but your explanations make a lot of sense to me already.

 

You put me in the mood for tasty cold delicious adult beverage of my own, but first I must go now and replace spark plugs in the Mrs. car.  :D   :beer: 

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines