GithubHelp home page GithubHelp logo

sdursun / amienvmon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from themkat/amienvmon

0.0 0.0 0.0 94 KB

Fun little toy project to have an excuse to play with MUI as a GUI library for Amiga OS based systems.

C 90.81% Makefile 9.19%

amienvmon's Introduction

./amienvmon.png

https://github.com/themkat/AmiEnvMon/actions/workflows/build.yaml/badge.svg

Calls my homemade Pico environment monitor API to fetch information, and shows them in a nice MUI GUI :)

This is what is looks like in OS 3.2:

./screenshot_os3.png

Goals

I had a few goals with this project:

  • Have a way for my Amiga to view temperature and other environment data in a nice way.
  • Experiment with MUI for creating nice Amiga GUIs.
  • Take testing (mostly unit testing) as far as possible on a real Amiga.
  • Use modern CI/CD to test and release using Github Actions.

Requirements

OS 3.x (m68k)

  • TCP/IP stack like Roadshow to provide BSDSocket.library
  • MUI, at least 3.8
  • PNG datatype. (included in OS 3.2). Might change to an ILBM or similar image to improve compatibility later.

OS 4 (ppc)

  • Internet connection set up… duh… (at least access to your local network)
  • MUI version 5

Usage

Before you run the AmiEnvMon program, make sure the correct IP is set in the Settings program. Currently the fetching of the data from the server will never time out, so the IP should be correct. This might be fixed in a future release.

About the coding style

NB: The filenames and minor naming will probably change.

My coding standard here and other places are based upon many factors:

  • My experience in spare time programs, work (professional work has mostly been higher level work than C) etc. over many years.
  • Me disliking a lot of other coding styles I have read in the C world.
  • Reading various books on C and seeing different coding styles

It may be a bit unconventional at times, but I like it this way. My rules are as following:

  • Private, local- or standalone functions are camelCase.
  • Variables and parameters are snake case like Rust. (example: my_variable)
  • Some interfaces fall naturally into being components. Example: a ChatMessage component system that work on Chat data. These functions will be a special case, example: ChatMessage_InsertMessage. This is in a way to “emulate” logical components.

Love it or hate it, I think it makes programs more easy to reason about and read :)

amienvmon's People

Contributors

themkat avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.