-
Notifications
You must be signed in to change notification settings - Fork 68
Firmware Code Book Blue
andy diller edited this page Jun 25, 2024
·
3 revisions
FujiNet Firmware Diving
We will start at the beginning with
Here's a summary of its key components:
-
Platform-specific conditional compilation:
- Differentiates between ESP platform (likely ESP32) and other platforms (Windows, Linux, macOS).
-
Includes various headers for different functionalities:
- Debug, bus, device, WiFi, filesystem, HTTP service, Bluetooth (if supported), and more.
-
Main setup function:
- Initializes hardware, loads configuration, sets up file systems.
- Creates and configures various devices based on the target platform (e.g., printers, modems).
- Sets up different bus systems (SIO, IEC, ComLynx, RS232, etc.) depending on the build target.
-
Main service loop:
- Handles continuous operations like servicing the active bus system.
- Manages WiFi or Bluetooth connections.
- On non-ESP platforms, it also handles HTTP service and task management.
-
Platform-specific main entry points:
- For ESP platform:
app_main()
function that creates a high-priority task for the main loop. - For other platforms: Standard
main()
function that calls setup and enters the service loop.
- For ESP platform:
-
Shutdown and reboot handling:
- Includes functions to handle graceful shutdown and reboot scenarios.
The code is designed to be highly modular and adaptable to different hardware platforms and configurations, with extensive use of conditional compilation to include or exclude features based on the target system.
Copyright 2024 Contributors to the FujiNetWIFI project.
Join us on Discord: https://discord.gg/7MfFTvD
- Home
- What is FujiNet?
- The Definition of Done
- Board bring up for FujiNet Platform.IO code
- The Complete Linux CLI Guide
- The Complete macOS CLI Guide
- Development Env for Apps
- FujiNet-Development-Guidelines
- System Quickstarts
- FujiNet Flasher
- Setting up a TNFS Server
- FujiNet Configuration File: fnconfig.ini
- AppKey Registry - SIO Command $DC Open App Key
- CP-M Support
- BBS
- Official Hardware Versions
- Prototype Board Revisions
- FujiNet Development Guidelines
- Atari Programming
- Apple Programming
- C64 Programming
- ADAM Programming
- Testing Plan
- Hacker List
- FujiNet VirtualMachine