Die Sourcen meines SNES2DB9 Projektes sind jetzt bei Github zu finden:
https://github.com/simonsunnyboy/SNES2DB9
Category: GitHub
Finite State Machine Generator for C
For quite a long time I’m thinking about simple code generating tools. I don’t want to use a special XML syntax or descriptive language but a simple Excel or OpenOffice sheet instead.
The aim is to generated C source code for small microcontroller applications or retrocomputing systems.
For the start I made a simple generator for finite state machines (Wikipedia entry)
It is also my first script written in Python and thus not really as tidy and neat as I prefer. But it is working for now.
It takes the sheet from an OpenOffice .ods table like this:
@brief | autofire button statemachine | |
@see | ||
State | Event | Next State |
INIT | KeyPressed | PULSE_ON |
INIT | KeyNotPressed | AUTOFIRE_OFF |
AUTOFIRE_OFF | KeyPressed | PULSE_ON |
PULSE_ON | KeyNotPressed | AUTOFIRE_OFF |
PULSE_ON | PulseTimeElapsed | PULSE_OFF |
PULSE_OFF | KeyNotPressed | AUTOFIRE_OFF |
PULSE_OFF | PulseTimeElapsed | PULSE_ON |
and generates a switch-case style state machine in C with callback functions for state and event handling.
A version with support for object oriented programming with pointers to statemachine objects is planned aswell. Check the github for functional updates.
The actual code can be found on Github: https://github.com/simonsunnyboy/gen-fsm
Repository für git im web.de SmartDrive hosten
Meistens reicht ein offenere Hoster aus, um Projekte mit git (http://git-scm.com/) abzulegen. GitHub ist da ein guter Kandidat. Leider darf man dort kostenfrei keine Projekte mit unfreien Lizenzen hosten, vorallem kann jeder Hinz und Kunz die Dateien einsehen und auschecken. Für manche Projekte (Demoszene z.B.9 ist das unerwünscht.
In den Anleitungen zu git wird erwähnt, daß git wunderbar über WebDAV, im Prinzip also http , funktioniert. Das SmartDrive bei web.de, auch Onlinespeicher genannt, und ähnliche Dienste benutzen WebDAV über SSL, also wollte ich es wissen und ausprobieren.
Ich habe mich grob an die folgende Anleitung gehalten und ein paar Aspekte festgestellt: http://www.udmedia.de/faq/content/23/372/de/wie-kann-ich-git-ueber-webdav-benutzen.html
- leeres Repository mit Option –bare erstellt:
mkdir verzeichnis.git cd verzeichnis.git git init --bare git update-server-info cd ..
- Repositoryordner in das Smartdrive kopieren (ich habe es ganz normal im Thunar per Drag’n’Drop kopiert)
- Bei Clonen ist dann der Benutzername zwingend in der URL anzugeben, ansonsten konnte ich zumindest später nicht commiten und pushen: git clone https://USERNAME@webdav.smartdrive.web.de/
- Normal Arbeiten mit git und allen Vorteilen
Ich weiß jetzt nicht, ob es ein Transfervolumen oder dgl. gibt, aber so kann man für kleinere Projekte einfach git mit seinen Vorteilen über das Netzwerk nutzen, ohne alle Sourcen freigeben zu müssen oder unnötig Geld zu bezahlen.
Sourcecodeumzug für Quadromania nach GitHub
Da Google Code seine Pforten schliessen wird, habe ich die Sourcen für mein Spiel Quadromania nach GitHub umgezogen.Vielleicht arbeite ich ja mal am Projekt weiter, aktuell ist das aber eher unwahrscheinlich.
Projekt-URL zum Auschecken bei GitHub lautet: https://github.com/simonsunnyboy/quadromania