diff --git a/Hardware/Enclosure/knob.SLDPRT b/Hardware/Enclosure/knob.SLDPRT new file mode 100644 index 0000000..2946a7e Binary files /dev/null and b/Hardware/Enclosure/knob.SLDPRT differ diff --git a/Hardware/Enclosure/pcb.SLDPRT b/Hardware/Enclosure/pcb.SLDPRT new file mode 100644 index 0000000..7b04178 Binary files /dev/null and b/Hardware/Enclosure/pcb.SLDPRT differ diff --git a/Hardware/Enclosure/psdrConcept.SLDPRT b/Hardware/Enclosure/psdrConcept.SLDPRT new file mode 100644 index 0000000..f47f8e6 Binary files /dev/null and b/Hardware/Enclosure/psdrConcept.SLDPRT differ diff --git a/Hardware/Enclosure/psdrConcept3.SLDPRT b/Hardware/Enclosure/psdrConcept3.SLDPRT new file mode 100644 index 0000000..13e1b1d Binary files /dev/null and b/Hardware/Enclosure/psdrConcept3.SLDPRT differ diff --git a/Hardware/Enclosure/psdrConcept4.SLDPRT b/Hardware/Enclosure/psdrConcept4.SLDPRT new file mode 100644 index 0000000..e430734 Binary files /dev/null and b/Hardware/Enclosure/psdrConcept4.SLDPRT differ diff --git a/Hardware/Enclosure/psdrConcept5.SLDPRT b/Hardware/Enclosure/psdrConcept5.SLDPRT new file mode 100644 index 0000000..78f153a Binary files /dev/null and b/Hardware/Enclosure/psdrConcept5.SLDPRT differ diff --git a/Hardware/PSDR1_BOM.xlsx b/Hardware/PSDR1_BOM.xlsx index 16d8ba5..cad8f2f 100644 Binary files a/Hardware/PSDR1_BOM.xlsx and b/Hardware/PSDR1_BOM.xlsx differ diff --git a/PortableSDR Video Script.docx b/PortableSDR Video Script.docx new file mode 100644 index 0000000..127a4f0 Binary files /dev/null and b/PortableSDR Video Script.docx differ diff --git a/Source/images/AM.png b/Source/images/AM.png new file mode 100644 index 0000000..6c819c4 Binary files /dev/null and b/Source/images/AM.png differ diff --git a/Source/images/HADlogo.PNG b/Source/images/HADlogo.PNG new file mode 100644 index 0000000..5232c06 Binary files /dev/null and b/Source/images/HADlogo.PNG differ diff --git a/Source/images/LSB.png b/Source/images/LSB.png new file mode 100644 index 0000000..c9bbc2a Binary files /dev/null and b/Source/images/LSB.png differ diff --git a/Source/images/Numbers.png b/Source/images/Numbers.png new file mode 100644 index 0000000..db1d05c Binary files /dev/null and b/Source/images/Numbers.png differ diff --git a/Source/images/USB.png b/Source/images/USB.png new file mode 100644 index 0000000..d75c3f5 Binary files /dev/null and b/Source/images/USB.png differ diff --git a/Source/images/eight.png b/Source/images/eight.png new file mode 100644 index 0000000..4187488 Binary files /dev/null and b/Source/images/eight.png differ diff --git a/Source/images/eightSmall.png b/Source/images/eightSmall.png new file mode 100644 index 0000000..6e3b192 Binary files /dev/null and b/Source/images/eightSmall.png differ diff --git a/Source/images/filter.png b/Source/images/filter.png new file mode 100644 index 0000000..0de610f Binary files /dev/null and b/Source/images/filter.png differ diff --git a/Source/images/five.png b/Source/images/five.png new file mode 100644 index 0000000..30cc040 Binary files /dev/null and b/Source/images/five.png differ diff --git a/Source/images/fiveSmall.png b/Source/images/fiveSmall.png new file mode 100644 index 0000000..832933a Binary files /dev/null and b/Source/images/fiveSmall.png differ diff --git a/Source/images/four.png b/Source/images/four.png new file mode 100644 index 0000000..d420fd0 Binary files /dev/null and b/Source/images/four.png differ diff --git a/Source/images/fourSmall.png b/Source/images/fourSmall.png new file mode 100644 index 0000000..2f61873 Binary files /dev/null and b/Source/images/fourSmall.png differ diff --git a/Source/images/hyphenSmall.png b/Source/images/hyphenSmall.png new file mode 100644 index 0000000..f8c64f9 Binary files /dev/null and b/Source/images/hyphenSmall.png differ diff --git a/Source/images/mode.png b/Source/images/mode.png new file mode 100644 index 0000000..40796c8 Binary files /dev/null and b/Source/images/mode.png differ diff --git a/Source/images/modes.png b/Source/images/modes.png new file mode 100644 index 0000000..0bafc90 Binary files /dev/null and b/Source/images/modes.png differ diff --git a/Source/images/nine.png b/Source/images/nine.png new file mode 100644 index 0000000..63e7909 Binary files /dev/null and b/Source/images/nine.png differ diff --git a/Source/images/nineSmall.png b/Source/images/nineSmall.png new file mode 100644 index 0000000..8b706d4 Binary files /dev/null and b/Source/images/nineSmall.png differ diff --git a/Source/images/one.png b/Source/images/one.png new file mode 100644 index 0000000..78c5fce Binary files /dev/null and b/Source/images/one.png differ diff --git a/Source/images/oneSmall.png b/Source/images/oneSmall.png new file mode 100644 index 0000000..b8f3391 Binary files /dev/null and b/Source/images/oneSmall.png differ diff --git a/Source/images/point.png b/Source/images/point.png new file mode 100644 index 0000000..d1451c9 Binary files /dev/null and b/Source/images/point.png differ diff --git a/Source/images/psdr.png b/Source/images/psdr.png new file mode 100644 index 0000000..d9dd4ba Binary files /dev/null and b/Source/images/psdr.png differ diff --git a/Source/images/sMeter.png b/Source/images/sMeter.png new file mode 100644 index 0000000..2b44e45 Binary files /dev/null and b/Source/images/sMeter.png differ diff --git a/Source/images/seven.png b/Source/images/seven.png new file mode 100644 index 0000000..d330167 Binary files /dev/null and b/Source/images/seven.png differ diff --git a/Source/images/sevenSmall.png b/Source/images/sevenSmall.png new file mode 100644 index 0000000..d913e59 Binary files /dev/null and b/Source/images/sevenSmall.png differ diff --git a/Source/images/six.png b/Source/images/six.png new file mode 100644 index 0000000..911c022 Binary files /dev/null and b/Source/images/six.png differ diff --git a/Source/images/sixSmall.png b/Source/images/sixSmall.png new file mode 100644 index 0000000..46e61de Binary files /dev/null and b/Source/images/sixSmall.png differ diff --git a/Source/images/three.png b/Source/images/three.png new file mode 100644 index 0000000..b54c55e Binary files /dev/null and b/Source/images/three.png differ diff --git a/Source/images/threeSmall.png b/Source/images/threeSmall.png new file mode 100644 index 0000000..d4c78e6 Binary files /dev/null and b/Source/images/threeSmall.png differ diff --git a/Source/images/tildeSmall.png b/Source/images/tildeSmall.png new file mode 100644 index 0000000..4dbee00 Binary files /dev/null and b/Source/images/tildeSmall.png differ diff --git a/Source/images/two.png b/Source/images/two.png new file mode 100644 index 0000000..46bf207 Binary files /dev/null and b/Source/images/two.png differ diff --git a/Source/images/twoSmall.png b/Source/images/twoSmall.png new file mode 100644 index 0000000..089f685 Binary files /dev/null and b/Source/images/twoSmall.png differ diff --git a/Source/images/zero.png b/Source/images/zero.png new file mode 100644 index 0000000..8a6f864 Binary files /dev/null and b/Source/images/zero.png differ diff --git a/Source/images/zeroSmall.png b/Source/images/zeroSmall.png new file mode 100644 index 0000000..0e3373a Binary files /dev/null and b/Source/images/zeroSmall.png differ diff --git a/Source/include/images.h b/Source/include/images.h index 041aec5..e4ffaf0 100644 --- a/Source/include/images.h +++ b/Source/include/images.h @@ -30,3 +30,4 @@ extern const unsigned short bitmapIronGradient[]; extern const unsigned short bitmapWebSdrGradient[]; extern const unsigned short bitmapFilter[]; extern const unsigned short bitmapHadLogo[]; +extern const unsigned short bitmapSMeter[]; diff --git a/Source/src/images.c b/Source/src/images.c index 2b9de41..4438905 100644 --- a/Source/src/images.c +++ b/Source/src/images.c @@ -652,3 +652,103 @@ const unsigned short bitmapHadLogo[]={ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73AE, // 0x0810 (2064) pixels 0xCE59, 0xCE79, 0x0841, 0x0000, 0x0000, 0x0000 }; + +//155 x 10 +const unsigned short bitmapSMeter[]={ + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0010 (16) pixels + 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, // 0x0020 (32) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0030 (48) pixels + 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0040 (64) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, // 0x0050 (80) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0060 (96) pixels + 0x0000, 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, // 0x0070 (112) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, // 0x0080 (128) pixels + 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0090 (144) pixels + 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00A0 (160) pixels + 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, // 0x00B0 (176) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00C0 (192) pixels + 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00D0 (208) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, // 0x00E0 (224) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00F0 (240) pixels + 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, // 0x0100 (256) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0110 (272) pixels + 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, // 0x0120 (288) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, // 0x0130 (304) pixels + 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, // 0x0140 (320) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0150 (336) pixels + 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0160 (352) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0170 (368) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0180 (384) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, // 0x0190 (400) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x01A0 (416) pixels + 0x0000, 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x01B0 (432) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x01C0 (448) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, // 0x01D0 (464) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x01E0 (480) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, // 0x01F0 (496) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0200 (512) pixels + 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0210 (528) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0220 (544) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0230 (560) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, // 0x0240 (576) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0250 (592) pixels + 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0260 (608) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0270 (624) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0280 (640) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0290 (656) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x02A0 (672) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x02B0 (688) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x02C0 (704) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x02D0 (720) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x02E0 (736) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x02F0 (752) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0300 (768) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0xFFFF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x7BEF, // 0x0310 (784) pixels + 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0320 (800) pixels + 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0330 (816) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0340 (832) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, // 0x0350 (848) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, // 0x0360 (864) pixels + 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0370 (880) pixels + 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0xFFFF, 0x0000, 0x7BEF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0380 (896) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0x0000, 0xFFFF, 0x0000, 0x7BEF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, // 0x0390 (912) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0xFFFF, 0x0000, 0x0000, 0x7BEF, // 0x03A0 (928) pixels + 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, // 0x03B0 (944) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x03C0 (960) pixels + 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x03D0 (976) pixels + 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x03E0 (992) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x03F0 (1008) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, // 0x0400 (1024) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0x0000, // 0x0410 (1040) pixels + 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, // 0x0420 (1056) pixels + 0x0000, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0430 (1072) pixels + 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x7BEF, 0xFFFF, 0xFFFF, // 0x0440 (1088) pixels + 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0450 (1104) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0460 (1120) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, // 0x0470 (1136) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0480 (1152) pixels + 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0490 (1168) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x04A0 (1184) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0x0000, 0xFFFF, // 0x04B0 (1200) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, // 0x04C0 (1216) pixels + 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, // 0x04D0 (1232) pixels + 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, // 0x04E0 (1248) pixels + 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x04F0 (1264) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0500 (1280) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0510 (1296) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7BEF, 0x0000, 0x0000, 0x0000, // 0x0520 (1312) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0530 (1328) pixels + 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0540 (1344) pixels + 0x0000, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0550 (1360) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, // 0x0560 (1376) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0x0000, // 0x0570 (1392) pixels + 0xFFFF, 0x0000, 0xFFFF, 0x7BEF, 0xFFFF, 0xFFFF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, // 0x0580 (1408) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, // 0x0590 (1424) pixels + 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05A0 (1440) pixels + 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05B0 (1456) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05C0 (1472) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0x0000, // 0x05D0 (1488) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, // 0x05E0 (1504) pixels + 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x05F0 (1520) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x0600 (1536) pixels + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x7BEF, 0x0000, 0xFFFF, 0xFFFF, 0x7BEF}; diff --git a/Source/src/main.c b/Source/src/main.c index 7a79c12..65620a3 100644 --- a/Source/src/main.c +++ b/Source/src/main.c @@ -143,7 +143,7 @@ void populateCoeficients(int bandwidth, int sideband, int offset) fftFilterCoeficient[FFT_BUFFER_SIZE / 2] = 0; fftFilterCoeficient[FFT_BUFFER_SIZE - 1] = 0; - return; //Skipping all the later stuff doesn't seem to make a huge difference yet... + //return; //Skipping all the later stuff doesn't seem to make a huge difference yet... //2: // float x, y; @@ -566,9 +566,25 @@ main(int argc, char* argv[]) updateMenu(); updateDisplay(0); drawWaterfall(); + drawSMeter(); } } +float passBandRms = 0; +int lastSMeterBarWidth = 0; +void drawSMeter() +{ + + //Adafruit_GFX_fillRect(150, 160, 170, 3, ILI9340_BLACK); + int width = 10*log((passBandRms * 1000000) + 1); + if(width > lastSMeterBarWidth) + Adafruit_GFX_fillRect(150 + lastSMeterBarWidth, 156, width - lastSMeterBarWidth, 3, ILI9340_RED); + else + Adafruit_GFX_fillRect(150 + width, 156, lastSMeterBarWidth - width, 3, ILI9340_BLACK); + + lastSMeterBarWidth = width; +} + void updateMenu() { switch(menuPos) @@ -652,6 +668,21 @@ void updateMenu() } +float calculateRmsOfSample(float* samples, int length) +{ + int i; + float accumulatedSquares = 0; + for(i = 0; i < length; i++) + { + accumulatedSquares += samples[i] * samples[i]; + } + + accumulatedSquares = accumulatedSquares / length; + float32_t result; + arm_sqrt_f32(accumulatedSquares, &result); + return result; +} + #define freqVOffset 108 //120 - (8*3/2) #define freqHOffset 142 void updateDisplay(uint8_t force) @@ -667,6 +698,7 @@ void updateDisplay(uint8_t force) Adafruit_GFX_drawColorBitmap(150, 136, bitmapFilter, 47,12, MASKWHITE); drawNumber('.', freqHOffset + 16*2, freqVOffset + 0, MASKWHITE); drawNumber('.', freqHOffset + 16*6, freqVOffset + 0, MASKWHITE); + Adafruit_GFX_drawColorBitmap(142, 162, bitmapSMeter, 155, 10, MASKWHITE); Adafruit_GFX_drawColorBitmap(320 - 45 - 2, 240 - 46 - 2, bitmapHadLogo, 45, 46, MASKWHITE); } @@ -858,6 +890,7 @@ void processStream() } } + passBandRms = calculateRmsOfSample(samplesA, FFT_BUFFER_SIZE); sampleBankAReady = 0; blink_led_off(); @@ -888,6 +921,8 @@ void processStream() } } + passBandRms = calculateRmsOfSample(samplesB, FFT_BUFFER_SIZE); + sampleBankBReady = 0; blink_led_off(); @@ -918,6 +953,8 @@ void processStream() } } + passBandRms = calculateRmsOfSample(samplesC, FFT_BUFFER_SIZE); + sampleBankCReady = 0; blink_led_off(); }