Features: - VFO mode with direct frequency input - POCSAG decoder (512/1200 baud) with BCH(31,21) correction - Full-screen Spectrum analyzer - FM Radio receiver - RSSI signal indicator overlay - Custom boot splash (UA1ZBE / POCSAG pager / build date) Architecture: - app/mode.c — mode dispatcher (VFO/POCSAG/Spectrum/FM) - app/boot_splash.c — 2-second boot splash - app/pocsag/ — POCSAG decoder + BCH correction - app/display_rssi.c — RSSI indicator - main.c — entry point with custom init - syscalls.c — bare-metal _sbrk stub Build: arm-none-eabi-gcc -Os -flto -Wall -Werror -Wextra Size: 57.9KB Flash / 3.6KB RAM Controls: - 0-9: Direct frequency input (VFO) - SK2: POCSAG mode - SK1: Spectrum analyzer - 0: FM Radio - EXIT: Return to VFO - F/*: Toggle 512/1200 baud (in POCSAG)
41 lines
2.3 KiB
JavaScript
41 lines
2.3 KiB
JavaScript
var strgURL = location.pathname; // path of current component
|
|
|
|
// constuctor for the array of objects
|
|
function tabElement(id, folderName, tabTxt ) {
|
|
this.id = id; // elementID as needed in html;
|
|
this.folderName = folderName; // folder name of the component
|
|
this.tabTxt = tabTxt; // Text displayed as menu on the web
|
|
this.currentListItem = '<li id="' + this.id + '" class="current"> <a href="../..' + this.folderName + 'index.html"><span>' + this.tabTxt + '</span></a></li>';
|
|
this.listItem = '<li id="' + this.id + '"> <a href="../..' + this.folderName + 'index.html"><span>' + this.tabTxt + '</span></a></li>';
|
|
};
|
|
|
|
// array of objects
|
|
var arr = [];
|
|
|
|
// fill array
|
|
arr.push( new tabElement( "GEN", "/General/html/", "General") );
|
|
arr.push( new tabElement( "CORE_A", "/Core_A/html/", "Core(A)") );
|
|
arr.push( new tabElement( "CORE_M", "/Core/html/", "Core(M)") );
|
|
arr.push( new tabElement( "DRV", "/Driver/html/", "Driver") );
|
|
arr.push( new tabElement( "DSP&ML", "/DSP/html/", "DSP") );
|
|
arr.push( new tabElement( "NN", "/NN/html/", "NN") );
|
|
arr.push( new tabElement( "RTOSv1", "/RTOS/html/", "RTOS v1") );
|
|
arr.push( new tabElement( "RTOSv2", "/RTOS2/html/", "RTOS v2") );
|
|
arr.push( new tabElement( "PACK", "/Pack/html/", "Pack") );
|
|
arr.push( new tabElement( "Build", "/Build/html/", "Build") );
|
|
arr.push( new tabElement( "SVD", "/SVD/html/", "SVD") );
|
|
arr.push( new tabElement( "DAP", "/DAP/html/", "DAP") );
|
|
arr.push( new tabElement( "ZONE", "/Zone/html/", "Zone") );
|
|
|
|
// write tabs
|
|
// called from the header file.
|
|
function writeComponentTabs() {
|
|
for ( var i=0; i < arr.length; i++ ) {
|
|
if (strgURL.search(arr[i].folderName) > 0) { // if this is the current folder
|
|
document.write(arr[i].currentListItem); // then print and hightlight the tab
|
|
} else {
|
|
document.write(arr[i].listItem); // else, print the tab
|
|
}
|
|
}
|
|
};
|