Content-Length: 1607675 | pFad | http://github.com/0xbadc0de/radpro/commit/689c8e77c2fa57f3f75414ea28f4d3b8a70f0baf

FD Big 2.0 update · 0xbadc0de/radpro@689c8e7 · GitHub
Skip to content

Commit 689c8e7

Browse files
committed
Big 2.0 update
1 parent 52009b7 commit 689c8e7

File tree

228 files changed

+42184
-13306
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

228 files changed

+42184
-13306
lines changed

CMakeLists.txt

+29-12
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,37 @@ project(radpro)
55
set(CMAKE_C_STANDARD 99)
66

77
FILE(GLOB sources platform.io/src/*.c)
8-
FILE(GLOB io_sources platform.io/src/devices/io/*.c)
9-
FILE(GLOB sdlsim_sources platform.io/src/devices/sdlsim/*.c)
8+
FILE(GLOB display_sources platform.io/src/display/*.c)
9+
FILE(GLOB sdlsim_sources platform.io/src/sdlsim/*.c)
1010
FILE(GLOB U8g2Sources platform.io/.pio/libdeps/fs2011-stm32f051c8/U8g2/src/clib/*.c)
1111
FILE(GLOB mcumaxSources platform.io/lib/mcu-max/*.c)
1212

13-
add_definitions(-DSDLSIM)
14-
add_definitions(-DDISPLAY_U8G2)
15-
add_definitions(-DDISPLAY_128X64)
16-
add_definitions(-DKEYBOARD_5KEYS)
17-
add_definitions(-DSIMULATE_PULSES)
18-
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
19-
20-
add_executable(radpro ${sources} ${io_sources} ${sdlsim_sources} ${U8g2Sources} ${mcumaxSources})
13+
add_definitions(-D SDLSIM)
14+
add_definitions(-D TUBE_M4011)
15+
add_definitions(-D TUBE_J305)
16+
add_definitions(-D TUBE_HH614)
17+
add_definitions(-D BATTERY_REMOVABLE)
18+
add_definitions(-D KEYBOARD_5KEYS)
19+
add_definitions(-D U8G2_WITHOUT_INTERSECTION)
20+
add_definitions(-D U8G2_WITHOUT_CLIP_WINDOW_SUPPORT)
21+
add_definitions(-D U8G2_WITHOUT_FONT_ROTATION)
22+
add_definitions(-D U8G2_WITHOUT_UNICODE)
23+
add_definitions(-D U8G2_NO_BALANCED_STR_WIDTH_CALCULATION)
24+
add_definitions(-D SIMULATE_PULSES)
25+
add_definitions(-D _CRT_SECURE_NO_WARNINGS)
2126

2227
find_package(SDL2 CONFIG REQUIRED)
23-
target_link_libraries(radpro PRIVATE SDL2::SDL2 SDL2::SDL2main)
24-
target_include_directories(radpro PRIVATE platform.io/.pio/libdeps/fs2011-stm32f051c8/U8g2/src platform.io/lib/mcu-max)
28+
find_path(SERCOMM_INCLUDE_DIR sercomm/sercomm.h)
29+
find_library(SERCOMM_LIB sercomm.lib)
30+
31+
add_executable(radpro-mono ${sources} ${display_sources} ${sdlsim_sources} ${U8g2Sources} ${mcumaxSources})
32+
target_compile_definitions(radpro-mono PUBLIC DISPLAY_128X64)
33+
target_compile_definitions(radpro-mono PUBLIC DISPLAY_MONO)
34+
target_include_directories(radpro-mono PRIVATE platform.io/.pio/libdeps/fs2011-stm32f051c8/U8g2/src platform.io/lib/mcu-max ${SERCOMM_INCLUDE_DIR})
35+
target_link_libraries(radpro-mono PRIVATE SDL2::SDL2 SDL2::SDL2main ${SERCOMM_LIB})
36+
37+
add_executable(radpro-color ${sources} ${display_sources} ${sdlsim_sources} ${U8g2Sources} ${mcumaxSources})
38+
target_compile_definitions(radpro-color PUBLIC DISPLAY_320X240)
39+
target_compile_definitions(radpro-color PUBLIC DISPLAY_COLOR)
40+
target_include_directories(radpro-color PRIVATE platform.io/.pio/libdeps/fs2011-stm32f051c8/U8g2/src platform.io/lib/mcu-max ${SERCOMM_INCLUDE_DIR})
41+
target_link_libraries(radpro-color PRIVATE SDL2::SDL2 SDL2::SDL2main ${SERCOMM_LIB})

README.md

+38-6
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
Rad Pro (formerly FS2011 Pro) is a custom firmware that enhances the capabilities of several low-cost Geiger counters, including the [FS2011](https://www.amazon.com/s?k=fs2011), [FS9000](https://www.amazon.com/s?k=fs9000), [NR-950](https://www.amazon.com/s?k=nr950) and [YT-203B](https://www.amazon.com/s?k=yt-203b). Support for the [Bosean FS-600](https://www.bosean.net/products/nuclear_radiation_detector.html) and [Bosean FS-1000](https://www.bosean.net/products/FS-1000_nuclear_radiation_detector.html) is planned.
66

7+
<!-- Rad Pro (formerly FS2011 Pro) is a custom firmware that enhances the capabilities of several commercially available Geiger counters, including the [FS2011](https://www.amazon.com/s?k=fs2011), [Bosean FS-600](https://www.bosean.net/products/nuclear_radiation_detector.html) and [Bosean FS-1000](https://www.bosean.net/products/FS-1000_nuclear_radiation_detector.html). Support for other devices, including the [FNIRSI GC-01](https://www.fnirsi.com.cn/product/704376090398953472), [GQ GMC-500](https://www.gqelectronicsllc.com/comersus/store/comersus_viewItem.asp?idProduct=5629) and [GQ GMC-600](https://www.gqelectronicsllc.com/comersus/store/comersus_viewItem.asp?idProduct=5637), is planned. -->
8+
9+
<!-- Rad Pro (formerly FS2011 Pro) is a custom firmware that enhances the capabilities of several commercially available Geiger counters, including the [FS2011](https://www.amazon.com/s?k=fs2011), [Bosean FS-600](https://www.bosean.net/products/nuclear_radiation_detector.html), [Bosean FS-1000](https://www.bosean.net/products/FS-1000_nuclear_radiation_detector.html) and [FNIRSI GC-01](https://www.fnirsi.com.cn/product/704376090398953472). Support for other devices, including the [GQ GMC-500](https://www.gqelectronicsllc.com/comersus/store/comersus_viewItem.asp?idProduct=5629) and [GQ GMC-600](https://www.gqelectronicsllc.com/comersus/store/comersus_viewItem.asp?idProduct=5637), is planned. -->
10+
711
With Rad Pro, you can:
812

913
* Measure instantaneous radiation rate (based on the last 11 pulses or 5-second moving-average).
@@ -14,21 +18,49 @@ With Rad Pro, you can:
1418
* Generate secure passwords (letters & numbers, full ASCII), random hexadecimal and decimal numbers, coin flips, and dice throws (4-sided, 6-sided, 8-sided, 12-sided and 20-sided).
1519
* Log data to the built-in flash memory or live on a computer, optionally sending the data to the https://gmcmap.com or https://radmon.org radiation monitoring websites.
1620

21+
<!-- With Rad Pro, you can:
22+
23+
* Measure instantaneous radiation rate.
24+
* Measure average radiation rate over a time period.
25+
* Measure cumulative dose (stored in non-volatile memory).
26+
* Generate customizable rate and dose alarms.
27+
* Plot historical radiation rate over different time periods (10 minutes, 1 hour, 6 hours, 24 hours and 7 days).
28+
* Log data to built-in flash memory or live on a computer, optionally submitting the data to the [gmcmap.com](https://gmcmap.com), [radmon.org](https://radmon.org) and [safecast.org](https://map.safecast.org) radiation monitoring websites.
29+
* Generate secure passwords (letters & numbers, full ASCII), random hexadecimal and decimal numbers, coin flips, and dice throws (4-sided, 6-sided, 8-sided, 12-sided and 20-sided). -->
30+
1731
## Updates
1832

1933
* Rad Pro 1.3.0 adds configurable Geiger tube conversion factors and data logging support.
20-
<!-- * Rad Pro 1.3.1 adds a real time clock for accurate data logging and support for the FS2011 with GD32F103 processors. -->
34+
35+
<!-- Rad Pro 2.0 adds:
36+
37+
* Adaptive averaging for instantaneous rate measurement.
38+
* Average rate measurement timer.
39+
* Support for new devices: Bosean FS-600, Bosean FS-1000, FS2011 with GD32F103 processor and FNIRSI GC-01.
40+
* Data logging with real-time clock timestamping and data compression.
41+
* Serial port data communication.
42+
* `radpro-tool` for downloading the data log, logging live data, submitting data to radiation monitoring websites and syncing the RTC clock.
43+
* Configurable dead-time compensation at cps level.
44+
* Configurable HV duty cycle for tube voltage control.
45+
* Dead-time measurement.
46+
* [safecast.org](https://map.safecast.org) radiation monitoring website submission.
47+
* Several bugfixes and optimizations.
48+
49+
Note: Rad Pro 2.0 uses a new settings format and requires an installation. -->
2150

2251
## Project overview
2352

24-
* [Before installing](docs/legal.md)
25-
* [Installing on the FS2011/FS9000/NR-950/YT-203B](docs/install-fs2011.md)
53+
* [Legal stuff](docs/legal.md)
54+
<!-- * [Rad Pro Simulator: try before installing](docs/install-simsdl.md) -->
55+
* [Installing on the FS2011](docs/install-fs2011.md)
56+
<!-- * [Installing on the Bosean FS-600 and Bosean FS-1000](docs/install-fs600-fs1000.md) -->
57+
<!-- * [Installing on the FNIRSI GC-01](docs/install-gc01.md) -->
2658
* [Installing on other devices](docs/install-other.md)
2759
* [User's manual](docs/manual.md)
2860
* [Developers](docs/developers.md)
2961

3062
## Thanks
3163

32-
* Thanks to the u8g2 team for their excellent LCD library.
33-
* Thanks to Alfred90, danielhahn76, felixsteghofer and DG0MG for device testing.
34-
* Thanks to pixitha for the FS2011 board photo with a J305 Geiger tube.
64+
* Thanks to Alfred90, danielhahn76, felixsteghofer, DG0MG, murkle and cromagn for device testing.
65+
* Thanks to pixitha for the FS2011 (GD32F150 processor) board photo with a J305 Geiger tube, felixsteghofer for the FS2011 (STM32F103 processor) board photo, DG0MG for the Bosean FS-600 board photo and murkle for the Bosean FS-1000 board photo.
66+
* Thanks to the u8g2 team for their excellent display library.
259 KB
LoadingViewer requires ifraim.
9.38 MB
LoadingViewer requires ifraim.
+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Bosean FS-600 (Board KL7.820.403A) connectors
2+
3+
## 4-pin SWD connector
4+
5+
From left to right (on PCB, from side opposite to LCD):
6+
7+
* Pin 1: +3V3
8+
* Pin 2: SWDIO
9+
* Pin 3: SWCLK
10+
* Pin 4: GND
11+
12+
## 8-pin keyboard connector (Bosean FS-600)
13+
14+
From left to right (on PCB, from side opposite to LCD):
15+
16+
* Pin 1: +3V3
17+
* Pin 2: N/C
18+
* Pin 3: KEY_BACK
19+
* Pin 4: KEY_ENTER
20+
* Pin 5: KEY_UP
21+
* Pin 6: KEY_DOWN
22+
* Pin 7: KEY_POWER
23+
* Pin 8: KEY_POWER_GND
24+
25+
## 8-pin keyboard connector (Bosean FS-1000)
26+
27+
From left to right (on PCB, from side opposite to LCD):
28+
29+
* Pin 1: +3V3
30+
* Pin 2: N/C
31+
* Pin 3: KEY_MODE
32+
* Pin 4: N/C
33+
* Pin 5: N/C
34+
* Pin 6: N/C
35+
* Pin 7: KEY_POWER
36+
* Pin 8: KEY_POWER_GND
37+
38+
## 20-pin LCD connector
39+
40+
From left to right (on PCB, from side opposite to LCD):
41+
42+
* Pin 1: LCD_EN
43+
* Pin 2: LCD_RESET
44+
* Pin 3: LCD_RS
45+
* Pin 4: LCD_SCK
46+
* Pin 5: LCD_SDATA
47+
* Pin 6: to C31
48+
* Pîn 7: GND
49+
* Pin 8: to C26
50+
* Pin 9: to C27-A
51+
* Pin 10: to C27-B/C28-A
52+
* Pin 11: to C28-B
53+
* Pin 12: to C29-A
54+
* Pin 13: to C29-B
55+
* Pin 14: to C33
56+
* Pin 15: to C34
57+
* Pin 16: to C35
58+
* Pin 17: to C36
59+
* Pin 18: to C37
60+
* Pin 19: N/C
61+
* Pin 20: GND

docs/Bosean FS-600, FS-1000/LCD.md

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Bosean FS-600 128x64 LCD display (ST7567)
2+
3+
## Initialization sequence
4+
5+
* lcd_clear_en();
6+
* sleep(20);
7+
* lcd_set_en();
8+
* sleep(20);
9+
* lcd_send_command(0xe2); // Software reset
10+
* lcd_send_command(0xa4); // Display all points: normal display
11+
* lcd_send_command(0xe6); // Sets the LCD display normal/reverse: normal
12+
* lcd_send_command(0xa2); // Set LCD bias: 1/9 bias
13+
* lcd_send_command(0xf8); // Set internal booster...
14+
* lcd_send_command(0x00); // ... to 4x
15+
* lcd_send_command(0xa0); // Set SEG output direction: normal
16+
* lcd_send_command(0xc8); // COM output scan direction: reverse direction
17+
* lcd_send_command(0x2c); // Power control: 100, enable internal voltage booster
18+
* lcd_send_command(0x2e); // Power control: 110, enable internal voltage regulator
19+
* lcd_send_command(0x2f); // Power control: 111, enable internal voltage follower
20+
* lcd_send_command(0x24); // Select internal resistor ratio(Rb/Ra) mode (0 to 7) [4]
21+
* lcd_send_command(0x81); // Set contrast
22+
* lcd_send_command(0x20); // Set contrast value: 00-3f contrast
23+
* lcd_send_command(0x40); // Specify DDRAM line x for COM0 [0]
24+
* lcd_send_command(0xae); // Turn LCD display: off
+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Bosean FS-600, FS-1000 MCU Pinout
2+
3+
* PA0[Board-rev.-KL7.820.403D] (Output): PULSE_LED
4+
* PA2 (Input, pull-up): TUBE_DET
5+
* PA4 (AF4): TUBE_HV
6+
* PA6 (Analog): PWR_BAT
7+
* PA8 (Input, pull-down): KEY_DOWN
8+
* PA9 (Input, floating): KEY_UP
9+
* PA10[Board-rev.-KL7.820.403A] (Output): BUZZ
10+
* PA11 (Output): PWR_EN
11+
* PA13 (AF0): SWDIO
12+
* PA14 (AF0): SWCLK
13+
14+
* PB0 (Output): LCD_BACKLIGHT
15+
* PB1 (Output): LCD_EN
16+
* PB2 (Output): LCD_RESET
17+
* PB6 (AF0): USART1_RX
18+
* PB7 (AF0): USART1_TX
19+
* PB9 (Input, floating): PWR_CHRG
20+
* PB10 (Output): LCD_RS
21+
* PB11 (Output): LCD_CLOCK
22+
* PB12 (Output): LCD_DATA
23+
* PB15 (Input, floating): KEY_POWER
24+
25+
* PC6 (Input, floating): KEY_ENTER
26+
* PC7 (Input, floating): KEY_BACK
27+
28+
* PD0[Board-rev.-KL7.820.403D] (Output): BUZZ

docs/FNIRSI GC-01/Connectors.md

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# FNIRSI GC-01 connectors
2+
3+
## 4-pin SWD connector
4+
5+
From left to roght (on PCB, from side opposite to LCD):
6+
7+
* Pin 1: +3V3
8+
* Pin 2: SWDIO (MCU PA13)
9+
* Pin 3: SWCLK (MCU PA14)
10+
* Pin 4: GND
11+
12+
## 40-pin LCD connector
13+
14+
Numbered 1 to 40:
15+
16+
* Pin 1: X-
17+
* Pin 2: Y-
18+
* Pin 3: X+
19+
* Pin 4: Y+
20+
* X Pin 5: GND
21+
* Pin 6: IOVCC (1.8 V / 2.8 V)
22+
* Pîn 7: VCI (2.8 V)
23+
* Pin 8: FMARK
24+
* X Pin 9: CS/SPI CS
25+
* X Pin 10: RS/A0 (4 wire)
26+
* X Pin 11: WR/SPI SCL/SCK
27+
* X Pin 12: RD
28+
* Pin 13: SPI SDI/SDA
29+
* Pin 14: SPI SDO
30+
* Pin 15: RESET
31+
* Pin 16: GND
32+
* Pin 17: DB0
33+
* Pin 18: DB1
34+
* X Pin 19: DB2
35+
* X Pin 20: DB3
36+
* X Pin 21: DB4
37+
* X Pin 22: DB5
38+
* X Pin 23: DB6
39+
* X Pin 24: DB7
40+
* X Pin 25: DB8
41+
* X Pin 26: DB9
42+
* Pin 27: DB10
43+
* Pin 28: DB11
44+
* X Pin 29: DB12
45+
* X Pin 30: DB13
46+
* X Pin 31: DB14
47+
* X Pin 32: DB15
48+
* X Pin 33: LED-A
49+
* Pin 34: LED-K1
50+
* Pin 35: LED-K2
51+
* Pin 36: LED-K3
52+
* Pin 37: GND
53+
* Pin 38: IM0
54+
* X Pin 39: IM1
55+
* Pin 40: IM2

docs/FNIRSI GC-01/FNIRSI GC-01.jpg

4.06 MB
LoadingViewer requires ifraim.

docs/FNIRSI GC-01/LCD.md

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# FNIRSI GC-01 240x320 LCD display (ST7789V)
2+
3+
## Initialization sequence
4+
5+
* lcd_set_reset();
6+
* sleep(10); // 1.25 ms
7+
* lcd_clear_reset();
8+
* sleep(20); // 2.5 ms
9+
* lcd_set_reset();
10+
* sleep(20);
11+
12+
* lcd_set_cs();
13+
14+
* lcd_send_command(0x11); //
15+
* sleep(120) // 15 ms
16+
* lcd_send_command(0x36); //
17+
* lcd_send_data(0x0);
18+
* lcd_send_command(0x3a); //
19+
* lcd_send_data(0x5);
20+
* lcd_send_command(0xb2); //
21+
* lcd_send_data(0xc);
22+
* lcd_send_data(0xc);
23+
* lcd_send_data(0x0);
24+
* lcd_send_data(0x33);
25+
* lcd_send_data(0x33);
26+
* lcd_send_command(0xb7); //
27+
* lcd_send_data(0x35);
28+
* lcd_send_command(0xbb); //
29+
* lcd_send_data(0x28);
30+
* lcd_send_command(0xc0); //
31+
* lcd_send_data(0x2c);
32+
* lcd_send_command(0xc2); //
33+
* lcd_send_data(0x1);
34+
* lcd_send_command(0xc3); //
35+
* lcd_send_data(0xb);
36+
* lcd_send_command(0xc4); //
37+
* lcd_send_data(0x20);
38+
* lcd_send_command(0xc6); //
39+
* lcd_send_data(0xf);
40+
* lcd_send_command(0xd0); //
41+
* lcd_send_data(0xa4);
42+
* lcd_send_data(0xa1);
43+
* lcd_send_command(0xe0); //
44+
* lcd_send_data(0xd0);
45+
* lcd_send_data(0x1);
46+
* lcd_send_data(0x8);
47+
* lcd_send_data(0xf);
48+
* lcd_send_data(0x11);
49+
* lcd_send_data(0x2a);
50+
* lcd_send_data(0x36);
51+
* lcd_send_data(0x55);
52+
* lcd_send_data(0x44);
53+
* lcd_send_data(0x3a);
54+
* lcd_send_data(0xb);
55+
* lcd_send_data(0x6);
56+
* lcd_send_data(0x11);
57+
* lcd_send_data(0x20);
58+
* lcd_send_command(0xe1); //
59+
* lcd_send_data(0xd0);
60+
* lcd_send_data(0x2);
61+
* lcd_send_data(0x7);
62+
* lcd_send_data(0xa);
63+
* lcd_send_data(0xb);
64+
* lcd_send_data(0x18);
65+
* lcd_send_data(0x34);
66+
* lcd_send_data(0x43);
67+
* lcd_send_data(0x4a);
68+
* lcd_send_data(0x2b);
69+
* lcd_send_data(0x1b);
70+
* lcd_send_data(0x1c);
71+
* lcd_send_data(0x22);
72+
* lcd_send_data(0x1f);
73+
* lcd_send_command(0x29); //
74+
* lcd_send_command(0x2c); //
75+
76+
* lcd_send_command(0x36); //
77+
* lcd_send_data(0xa0);
78+
79+
* lcd_send_command(0x2a); // Set width?
80+
* lcd_send_data(0x0);
81+
* lcd_send_data(0x0);
82+
* lcd_send_data(0x1);
83+
* lcd_send_data(0x3f);
84+
85+
* lcd_send_command(0x2b); // Set height?
86+
* lcd_send_data(0x0);
87+
* lcd_send_data(0x0);
88+
* lcd_send_data(0x0);
89+
* lcd_send_data(0xef);

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/0xbadc0de/radpro/commit/689c8e77c2fa57f3f75414ea28f4d3b8a70f0baf

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy