Blame

ebe99f Bob Green 2026-03-19 08:31:29
1
# Machine Library
2
3
I've created a library targeting the hardware specific aspects of programming the Sbc-3. I believe that it should work with the other boards from [Mega Micros](https://mega-micros.co.uk/index.htm), but since I don't have access to anything but the Sbc-3, can't confirm that.
4
5
To use the library, just include the following in your C sourcecode:
6
```c
7
#include <machine.h>
8
```
2a20d4 Bob Green 2026-03-21 15:03:23
9
10
## Serial I/O
11
12
## LED Control
13
There's a block of 10 leds (LD7 on the SBC3-b3), and six of them can be used for anything you like. Led1 is furthest from the cpu:
d90362 Bob Green 2026-03-21 15:03:37
14
2a20d4 Bob Green 2026-03-21 15:03:23
15
| LED # | Used for |
16
|:------|:---------|
17
| 1 | Indicates that the board is being powered via an external 5v supply. |
18
| 2 | Indicated that the board is being powered via the ATX power connector. |
19
| 3 | Connected to the ~RTS pin on the duart channel B. |
20
| 4 | Connected to the ~RTS pin on the duart channel A. |
21
| 5 | Available to user. |
22
| 6 | Available to user. |
23
| 7 | Available to user. |
24
| 8 | Available to user. |
25
| 9 | Available to user. |
26
| 10 | Available to user. |
91e139 Bob Green 2026-03-21 15:06:40
27
28
Two functions are provided, one to turn on a led, and another to turn it off.
29
30
```C
31
void set_led(int lednum);
32
void clear_led(int lednum);
33
```
34
Where `lednum` is an integer in the range of 5 through to 10, as per the table above. Any other value will be silently ignored.