@fanoush
It's just Classic ...
Thanks.Gavinmc42 wrote: Been lots of progress since I last looked at Circle.
The most important is Pi4 and Aarch64![]()
Well done.
So many GUI libs to pick from too, but the dependencies are crazy.But I guess, often it's a question of taste, which GUI to use.
Maybe a good idea, but as I wrote, I do not know enough about GUI (libraries) to rate this. If you have many ideas, there must be something you can apply your hard work to. Focus is essential.Gavinmc42 wrote: My currently idea is a scripted UI with hardware acceleration that is language agnostic.
So C. C+, Rust, Go, Free Pascal etc can use it without much change in coding.
Just wish I had the time and skills to do it, ideas are easy, the hard work is actually doing it.
So I usually just wait for someone like you to do the hard work first![]()
Code: Select all
./makeall clean
g++: error: unrecognized command line option ‘-marm’
Yes, it's working, but only on RPi 1-3. There is currently no accelerated graphics support in Circle for RPi 4. I had enough to do to get USB and Ethernet running on the RPi 4, so I didn't had a real look at the accelerated graphics. I only tried the old VC4 support, but it does not work on the RPi 4. Not sure, if there is enough information available to get accelerated graphics running with VC6.Gavinmc42 wrote: I finally bite the bullet and grabbed your code.
Reason? Because I saw your libgraphics stuff![]()
Is that OpenVG working?
This libgraphics project has a focus on text processing with OpenVG. I did this for somebody, who wanted to use accelerated graphics for his GUI and I got information from AJ Starkes project to implement this. But in the end he decided to stay with "un-accelerated" graphics, because an OpenVG needs special handling and he did not want to spent all the effort to port his existing GUI to OpenVG, which was understandable to me. But the libgraphics project is rudimentary and I had not the time to complete this so far.After looking at all your files and samples etc what you have done is way harder than a simple GUI.
With AJ Starkes lib it only took me 1hr to port my Ultibo OpenVG GUI to Go/Raspbian.
Well just the G part, the UI part needs the hardwork![]()
I do, but on x86_64.I assume this message is because I need an arm 32bit cross compiler on my aarch64 Pi4?Very strange but ARM don't seem to have an aarch64 or armhf compiler that runs on aarch64.Code: Select all
./makeall clean g++: error: unrecognized command line option ‘-marm’
What, don't people develop on Pi's? x86 is so last decade.
I'm using "kate" from KDE for editing and a terminal window for compiling and "git" commands. But I could post a Geany project file for Circle, which I prepared earlier, if you want to have a look on it.I wonder if you could use VSC or Codeblocks as your IDE?
Geany is ok if I'm only doing one file, a bunch of includes can get is confused.
What do you guys use for editing/IDEs.
While I use Lazarus for Ultibo, it can be a pain. I break the Windows/Linux/Raspbian Lazarus' all the time.
It would be nice if there was a IDE that can handle C, C++, Rust, GO, FPC and Ponyc.
That way baremetal apps can be coded in a choice of languages.
Perhaps time to look at Geany's source code?
Yep I did not think this would be the case yet.There is currently no accelerated graphics support in Circle for RPi 4
That might just be enough, the biggest issue will be me getting up to speed on C++libgraphics project is rudimentary
I have currently no idea, how to get this running. I only know the VC4 userland code, but this has not been ported to VC6, how it seems. The sample programs report that they are not running on RPi 4, if started on Raspbian.Gavinmc42 wrote:Yep I did not think this would be the case yet.There is currently no accelerated graphics support in Circle for RPi 4
I do have hope it can be figured out, perhaps by analysing the Mesa DRI/DRM layers.
That should in theory allow OpenGL and OpenGLES3.0 to work.
A new VC6 manual would help too.
I am hoping the VG control list stuff is still in the VC6, but I'm not sure if that is ThreadX RTOS based or hardware?
Circle does not use very sophisticated C++ code (e.g. no templates, no C++ exceptions). You need some knowledge about classes, but the remaining code is very C-like.Hmm, just thought of YAFL that might work in bare metal D.
https://github.com/noctarius/dlang-arm-bare-metal
It is bit less painful to learn than C++![]()
No plans on that.Kate looks interesting, but go the Oberon method and build the editor into the OS?
I think C++ classes are not equivalent to Pascal units and there are classes in (Object) Pascal too. But without a basic understanding of classes, it's probably difficult to write Circle applications. I don't think that it's difficult to understand classes and it's a common programming concept today. But if you don't want to know about classes, Circle is probably not the right choice for you.Gavinmc42 wrote: Someone says "Classes" I just think Pascal "Units"![]()
I really don't want to know about classes I just want to use them to make apps.
I tried this a long time ago, normally I am working on Linux only. Beside the toolchain you need a Windows version of "make", GNU make 4.0 or higher is best. I don't know, if this is available as binary somewhere on the net.
Code: Select all
cd lib
make
Thanks I'll have one more attempt at making the ARM toolchain work on my Linux machine but it is an odd-ball used for a specific purpose and if not fixable without messing up it's main use I'll give your suggestions on Windows a go.
Yes, you should be able to build Circle with the GCC standard compiler on Raspbian. You have to set an empty prefix in Config.mk:
Code: Select all
PREFIX =
RASPPI = 4
Interesting idea and maybe doable. But I guess, you have to write a Linux kernel driver to do this. I don't think, Circle will be a big help to realize such a model.I realise the cores will clash over peripherals and memory usage - I'm aiming for Ethernet, USB & HDMI as Linux only and everything on the 40 pin extender as bare metal.
Run a RTOS on a baremetal Arm core for GPIO while Linux on the other core handles the comms?I'm aiming for Ethernet, USB & HDMI as Linux only and everything on the 40 pin extender as bare metal.