{"id":18275803,"url":"https://github.com/ctlst-tech/c-atom","last_synced_at":"2025-04-05T03:31:14.578Z","repository":{"id":119790198,"uuid":"480283100","full_name":"ctlst-tech/c-atom","owner":"ctlst-tech","description":"Model-based driven real-time embedded software framework for safety-critical and mission-critical application","archived":false,"fork":false,"pushed_at":"2025-03-31T19:49:26.000Z","size":568,"stargazers_count":25,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-31T20:35:46.846Z","etag":null,"topics":["autopilot","catpilot","drone","embedded","embedded-systems","functional-programming","hardware-agnostic","mission-critical","model-based-development","os-agnostic","posix-compliant","realtime","safety-critical","uas","uav","vms"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ctlst-tech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-11T08:02:18.000Z","updated_at":"2024-11-30T03:15:11.000Z","dependencies_parsed_at":"2023-03-24T05:32:09.397Z","dependency_job_id":"1c06e029-a612-4030-80b6-b86e2d77e717","html_url":"https://github.com/ctlst-tech/c-atom","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctlst-tech%2Fc-atom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctlst-tech%2Fc-atom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctlst-tech%2Fc-atom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctlst-tech%2Fc-atom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctlst-tech","download_url":"https://codeload.github.com/ctlst-tech/c-atom/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247284911,"owners_count":20913691,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autopilot","catpilot","drone","embedded","embedded-systems","functional-programming","hardware-agnostic","mission-critical","model-based-development","os-agnostic","posix-compliant","realtime","safety-critical","uas","uav","vms"],"created_at":"2024-11-05T12:14:07.116Z","updated_at":"2025-04-05T03:31:09.541Z","avatar_url":"https://github.com/ctlst-tech.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# C-ATOM\nsee-atom, carbon-atom, C language-atom is a scalable framework to create embedded \nsystems faster by the combination of the top level declarative programming of the behaviour;\nmodel-based enabled design and service code generation. C-ATOM uses so-called atomic \nfunctions as formally defined and isolated building blocks. \n\nKey features:\n- written in C language;\n- libc, pthreads, libm are the only dependencies;\n- uses POSIX for system calls;\n- designed to be hardware and software-agnostic.\n- provides services for telemetry transmission, logging and visualizing.\n\n# Documentation\n\nAvailable [here](https://docs.ctlst.app/catom/intro.html)\n\n# Demos and usecases\n\n1. [Drone's autopilot CatPilot](https://github.com/ctlst-tech/uas-catpilot)\n2. [Autopiloting of the flight simulator's model of Cessna 172](https://github.com/ctlst-tech/c172atom)\n\n# How it works\n\nLibrary has the following major building blocks and configuration layers:\n- **flow** - block to arrange computational graphs as a sequence of atomic reusable (C lang coded) functions.\n- **fsm** - finite state machine block, operates by states, transitions and actions on states and transitions.\n- **ibr** - interface bridge - designed to take care of converting information from and to other devices.\n- **swsys** - software system description layer; allocates functions and other blocks into tasks and process.\n\n\n![catom scope](doc/catom_scope.jpg)\n\n\nThe foundation of the **c-atom** is [Embedded Software Bus (ESWB)](https://github.com/ctlst-tech/eswb) library. \nESWB creates uniform way of functions to communicate between each other: inside thread, between threads, between processes.\nStands as the only form of inter process communication inside **c-atom** controlled domain. \n\nFind more info at [documentation](https://docs.ctlst.app/catom/intro.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctlst-tech%2Fc-atom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctlst-tech%2Fc-atom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctlst-tech%2Fc-atom/lists"}