Skip to content

Commit

Permalink
📝 Add education section
Browse files Browse the repository at this point in the history
  • Loading branch information
kammce committed Aug 29, 2024
1 parent 4e5e0d5 commit f5766ff
Show file tree
Hide file tree
Showing 19 changed files with 76 additions and 4 deletions.
3 changes: 3 additions & 0 deletions mkdocs/education/actuators.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Basics of Actuators

Coming soon...
3 changes: 3 additions & 0 deletions mkdocs/education/adc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# ADC: Analog to Digital Converter

Coming soon...
3 changes: 3 additions & 0 deletions mkdocs/education/architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Microcontroller Architecture

Coming soon...
3 changes: 3 additions & 0 deletions mkdocs/education/bitmasking.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# The Art of Bit Masking

Coming soon...
3 changes: 3 additions & 0 deletions mkdocs/education/canbus.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# CAN BUS: Controller Area Network Bus

Coming soon...
3 changes: 3 additions & 0 deletions mkdocs/education/dac.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# DAC: Digital to Analog Convert

Coming soon...
3 changes: 3 additions & 0 deletions mkdocs/education/dma.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# DMA: Direct Memory Access

Coming soon...
3 changes: 3 additions & 0 deletions mkdocs/education/embedded_systems.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Introduction to Embedded Systems

Coming soon...
3 changes: 3 additions & 0 deletions mkdocs/education/gpio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# GPIO: General Purpose Input/Output

Coming soon...
3 changes: 3 additions & 0 deletions mkdocs/education/i2c.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# I2C: Inter-Integrated Circuit

Coming soon...
3 changes: 3 additions & 0 deletions mkdocs/education/pwm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# PWM: Pulse Width Modulation

Coming soon...
3 changes: 3 additions & 0 deletions mkdocs/education/rtos.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# RTOS: Real time Operating Systems

Coming soon...
3 changes: 3 additions & 0 deletions mkdocs/education/sensors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Basics of Sensors

Coming soon...
3 changes: 3 additions & 0 deletions mkdocs/education/spi.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# SPI: Serial Peripheral Interface

Coming soon...
5 changes: 5 additions & 0 deletions mkdocs/education/tbd.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# To be determined

This page is just a place holder for additional content. This
page will always be here because there will always be more
subjects to discuss when it comes to embedded systems.
3 changes: 3 additions & 0 deletions mkdocs/education/timers_and_counters.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Timers & Counters

Coming soon...
3 changes: 3 additions & 0 deletions mkdocs/education/uart.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# UART: Universal Asynchronous Receiver/Transmitter

Coming soon...
18 changes: 18 additions & 0 deletions mkdocs/summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,24 @@
- [🎯 Debugging Code with PyOCD](user_guide/debugging.md)
- [🪤 Error Handling in libhal](user_guide/error_handling.md)
- [⚖️ Policies & FAQ](user_guide/policy.md)
- 🏫 Education
- [What are Embedded Systems?](education/embedded_systems.md)
- [Bit Masking](education/bitmasking.md)
- [Microcontroller Architecture](education/architecture.md)
- [General Purpose I/O](education/gpio.md)
- [DMA](education/dma.md)
- [Timers & Counters](education/timers_and_counters.md)
- [ADC](education/adc.md)
- [PWM](education/pwm.md)
- [SPI](education/spi.md)
- [UART](education/uart.md)
- [I2C](education/i2c.md)
- [DAC](education/dac.md)
- [CAN BUS](education/canbus.md)
- [Basics of Sensors](education/sensors.md)
- [Basics of Actuators](education/actuators.md)
- [RTOS](education/rtos.md)
- [TBD](education/tbd.md)
- 📚 Contributor Guides
- [📜 Design Philosophy](contributor_guide/philosophy.md)
- [🗃️ Organization](contributor_guide/organization.md)
Expand Down
9 changes: 5 additions & 4 deletions mkdocs/user_guide/policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,17 +49,18 @@ and will handle them case-by-case.
Currently, libhal steers clear of SDKs with confining licenses or those
misaligned with Apache 2.0 or its equivalents. This includes licenses from NXP
and STM. However, SDKs from Espressif Systems (with Apache 2.0) are potentially
usable.
and STM. However, SDKs from Espressif Systems (with Apache 2.0) and Pico SDK
are potentially usable so long as they reach our quality bar.

## 5. **Dealing with Devices Lacking Public Manuals**

Devices without public user manuals typically don't get a libhal library. Here's
Devices without public user manuals will not get a libhal library. Here's
why:

1. It risks unintentional exposure of proprietary device information.
2. Without a manual, the code operates like a black box, turning debugging into
a reverse-engineering puzzle.

We can craft drivers for such devices, but their source code would remain
confidential. Libhal predominantly focuses on fostering open-source libraries.
confidential. The libhal organization may perform such work on a contract basis
but such work would not make it to the open source ecosystem.

0 comments on commit f5766ff

Please sign in to comment.