All Projects → onkwon → libmcu

onkwon / libmcu

Licence: MIT license
A toolkit for firmware development

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
Makefile
30231 projects
python
139335 projects - #7 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to libmcu

Core
Package core is a service container that elegantly bootstrap and coordinate twelve-factor apps in Go.
Stars: ✭ 34 (+3.03%)
Mutual labels:  queue, metrics
Garagemq
AMQP message broker implemented with golang
Stars: ✭ 153 (+363.64%)
Mutual labels:  queue, pubsub
Kubemq
KubeMQ is Enterprise-grade message broker native for Docker and Kubernetes
Stars: ✭ 58 (+75.76%)
Mutual labels:  queue, pubsub
Mangos
mangos is a pure Golang implementation of nanomsg's "Scalablilty Protocols"
Stars: ✭ 384 (+1063.64%)
Mutual labels:  queue, pubsub
gobroker
golang wrapper for all (to-be) kinds of message brokers
Stars: ✭ 15 (-54.55%)
Mutual labels:  queue, pubsub
Openmessaging Java
OpenMessaging Runtime Interface for Java
Stars: ✭ 685 (+1975.76%)
Mutual labels:  queue, metrics
Bull exporter
Prometheus exporter for Bull metrics
Stars: ✭ 149 (+351.52%)
Mutual labels:  queue, metrics
Daplink
Stars: ✭ 1,162 (+3421.21%)
Mutual labels:  firmware, mcu
Specification
OpenMessaging Specification
Stars: ✭ 242 (+633.33%)
Mutual labels:  queue, metrics
Message Bus
Go simple async message bus
Stars: ✭ 166 (+403.03%)
Mutual labels:  queue, pubsub
openmessaging.github.io
OpenMessaging homepage
Stars: ✭ 12 (-63.64%)
Mutual labels:  queue, metrics
TinyCore
TinyCore boards / attiny 1 series Core, Arduino IDE Core, targets ATtiny 417 / 814 / 816 / 817 / 1614 / 1616 / 1617 / 3217 and similar MCUs
Stars: ✭ 31 (-6.06%)
Mutual labels:  firmware, mcu
Nf Interpreter
⚙️ nanoFramework Interpreter, CLR, HAL, PAL and reference target boards
Stars: ✭ 168 (+409.09%)
Mutual labels:  firmware, mcu
Appserver
A multithreaded application server for PHP, written in PHP.
Stars: ✭ 930 (+2718.18%)
Mutual labels:  queue, timer
Jtag2updi
UPDI programmer software for Arduino (targets Tiny AVR-0/1/2, Mega AVR-0 and AVR-DA/DB MCUs)
Stars: ✭ 147 (+345.45%)
Mutual labels:  firmware, mcu
Foundatio
Pluggable foundation blocks for building distributed apps.
Stars: ✭ 1,365 (+4036.36%)
Mutual labels:  queue, metrics
Dipstick
Configurable metrics toolkit for Rust applications
Stars: ✭ 92 (+178.79%)
Mutual labels:  metrics, timer
Stm32 Bootloader
Customizable Bootloader for STM32 microcontrollers. This example demonstrates how to perform in-application-programming of a firmware located on an external SD card with FAT32 file system.
Stars: ✭ 541 (+1539.39%)
Mutual labels:  firmware, mcu
Sc
Common libraries and data structures for C.
Stars: ✭ 161 (+387.88%)
Mutual labels:  queue, timer
asynctimerqueue
Asynchronous timer queue mechanism(C++11)
Stars: ✭ 21 (-36.36%)
Mutual labels:  queue, timer

libmcu

Build Status Security Rating Reliability Rating Coverage codecov

Overview

A toolkit for firmware development.

Simplicity and code size are considered first while trying to avoid dynamic allocation as much as possible.

The documentation of each modules are under the subdirectories. Some usage examples can also be found under examples and test cases.

Any feedback would be appreciated.

Modules

Integration Guide

Include libmcu into your project

$ cd ${YOUR_PROJECT_DIR}
$ git submodule add https://github.com/onkwon/libmcu.git ${THIRD_PARTY_DIR}/libmcu

Add libmcu into your build system

Make

LIBMCU_ROOT ?= <THIRD_PARTY_DIR>/libmcu
LIBMCU_MODULES := logging pubsub metrics
include $(LIBMCU_ROOT)/projects/modules.mk

<SRC_FILES> += $(LIBMCU_MODULES_SRCS)
<INC_PATHS> += $(LIBMCU_MODULES_INCS)

CMake

set(LIBMCU_ROOT <THIRD_PARTY_DIR>/libmcu)
list(APPEND LIBMCU_MODULES logging pubsub metrics)
include(${LIBMCU_ROOT}/projects/modules.cmake)

# Add ${LIBMCU_MODULES_SRCS} to your target sources
# Add ${LIBMCU_MODULES_INCS} to your target includes
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].