Another boring SW log

A project log for SDA - The best new PDA

Do you miss those old small devices in your palm? Don't be sad, you can always build your own!

brtnstbrtnst 10/09/2018 at 20:160 Comments

While I was waiting on the PCBs for the new HW, I focused my attention to SDA software stack. I think that the code has matured enough to put most of it on github. The code is split to multiple repositories, I don't know if it is the best solution, but it is a solution for now. Currently you can build SDA_OS simulator and run (or develop) applications in this simulator.

This log is written in a way that you maybe could try to clone, compile, run and develop apps for the SDA_OS, but reality is that you will most likely find out that it is broken in some way and get frustrated. I am the only developer and user for about a two years and I am walking around bugs and bad architectural decisions all the time. Do not expect a good experience.

SDA Repos on github

There are separate repos for each part of the software stack.

SVS Script
SVS can be used separately, so it makes sense to have it separate.

The graphical and GUI library for SDA_OS. It was previously used in my other projects, so it is in a separate repo. It is written to be more or less platform independent it needs external functions to draw on the physical screen.

This repository contains most of the SDA_OS code, the API for most of the functions and SDA_OS specific extensions to the SVS. This part is platform independent, it also needs external functions to handle the touch input and the filesystem.

SDA Applications
Default applications for SDA_OS, they are platform independent and run on top of SDA_OS.

SDA_OS SDL2 base
This provides all the functions to run SDA_OS on a PC with some distribution of GNU/Linux. Browser based simulator is also based on this code.

SDA_OS Wonder base

Sources for the SDA_OS base for SDA mk. 2.

Why is it this way

I set it up in a way that you clone the base repo from git and all other system things are in this repo as submodules. You can build the SDA_OS base to get the executable. Applications directory is in gitignore, so you can separately clone the app repo as APPS directory or you can create it empty and fill it with your own apps. I do not know if specific version of applications for SDA will be dependent on a specific version of the base, so it is not a submodule for now.

Edit: While I was debugging the new main board for new SDA, I found out that building SDA_OS from scratch is not super simple, so I will simplify the process with something like make it-working option in the makefile, that will rename all .example files and do all other boring stuff.