Compare commits

..

783 Commits

Author SHA1 Message Date
Alan Johnston c0a679009d
Update pacsatsim.sh use PacSat Ground mode for loopback
4 days ago
Alan Johnston 9c868bd059
Update main.c add or pacsatground
4 days ago
Alan Johnston e299ab6ef8
Update pacsatsim.sh add stop pacsatsim.service
4 days ago
Alan Johnston 4a67af2d01
Update install
4 days ago
Alan Johnston bf323b449d
Update pacsat-run.sh stop transmit if loopback
5 days ago
Alan Johnston 30fd1b3506
Update pacsatsim.sh 60 seconds delay at end
5 days ago
Alan Johnston e0cbdfcc3a
Update pacsat-run.sh
5 days ago
Alan Johnston cf1491ecef
Update pacsatsim.sh 15 second delay at end
5 days ago
Alan Johnston 30ea3a40f9
Update pacsatsim.sh if loopback, change to PacSat mode
5 days ago
Alan Johnston 029ca465c4
Update pacsat-config.sh print you can close the window
5 days ago
Alan Johnston ef1493a7d4
Update pacsat-config.sh print you can close window
5 days ago
Alan Johnston 42935da64a
Update pacsat-config.sh switch to non Desktop properties file
5 days ago
Alan Johnston 153b6fa5ae
Update pacsat.sh add sleep 2 after print of frequency
5 days ago
Alan Johnston 172d35e02d
Update pacsatsim.sh print callsign and frequencies in log
5 days ago
Alan Johnston bc0692f562
Update pacsat-run.sh larger popup window
5 days ago
Alan Johnston 5eea4237f7
Update pacsat.sh add rx frequency print
5 days ago
Alan Johnston b0937a109d
Update pacsat-run.sh popup bigger
5 days ago
Alan Johnston 5b8f35a9f2
Update config indicate carrier C2C is off if PacSat or PacSat Ground mode
6 days ago
Alan Johnston 17cdbb43de
Update command remove typo )
6 days ago
Alan Johnston 8f53997861
Update command don't start carrier C2C if PacSat or Ground mode
6 days ago
Alan Johnston ca798d3996
Update config remove MODE print
6 days ago
Alan Johnston 02dd72841a
Update config set MODE variable
6 days ago
Alan Johnston 303ea59836
Update config print $1
6 days ago
Alan Johnston b5f9494e12
Update config print squelch is off in PacSat or Ground modes
6 days ago
Alan Johnston b09c852a07
Update transmit.py remove C2C squelch check since it won't work in PacSat mode
6 days ago
Alan Johnston a895127d82
Update transmit.py print txc for debug
6 days ago
Alan Johnston a8bf6372b9
Update pacsat.sh always restart pacsat for loopback
1 week ago
Alan Johnston 87c5cef72c
Update pacsat.sh fix loop zip file
1 week ago
Alan Johnston 94c4cbedf2
Update pacsat.sh add back download loopback zip file
1 week ago
Alan Johnston b297da5ea4
Add files via upload
1 week ago
Alan Johnston f0e8620c56
Delete spacecraft/PacSatGround_0.46o/PacSatGroundLoop.zip
1 week ago
Alan Johnston 17628e4012
Update pacsat.sh missing then
1 week ago
Alan Johnston 6280e60cfd
Update pacsat.sh only check for directory for that mode
1 week ago
Alan Johnston 524b38e19c
Update pacsat.sh use separate ZIP file for Loopback
1 week ago
Alan Johnston c03f457565
Add files via upload
1 week ago
Alan Johnston a6d576a079
Update pacsat.sh loopback put in PacSat mode no reboot
1 week ago
Alan Johnston 42b68f8a93
Update pacsatsim.sh unzip pacsat-dir
1 week ago
Alan Johnston d1e80499a4
Update pacsat-config.sh just delete directory for ground station reset
1 week ago
Alan Johnston 6cbb87c3e2
Update pacsatsim.sh make PacSat directory
1 week ago
Alan Johnston e07b3d5cb0
Update pacsatsim.sh fix pi_pacsat extraction
1 week ago
Alan Johnston e30024cea8
Update pacsatsim.sh remove pi_pacsat config files before unzipping
1 week ago
Alan Johnston e4663ab34b
Update pacsatsim.sh setup PacSat and pi_pacsat files if not present
1 week ago
Alan Johnston c6e4bd7b12
update g0kla-common if changed, don't create pacsatsim directories
1 week ago
Alan Johnston b558f940f9
Update pacsat.sh cleanup
1 week ago
Alan Johnston 27fe4062cc
Update install don't create PacSatGround directory
1 week ago
Alan Johnston defe5ac485
Delete spacecraft/PacSatGround_0.46o/PacSatSim_wodtelemetry.csv
1 week ago
Alan Johnston 830c94501c
Delete spacecraft/PacSatGround_0.46o/PacSatSim_mintelemetry.csv
1 week ago
Alan Johnston 8bccf46c6c
Delete spacecraft/PacSatGround_0.46o/PacSatSim_maxtelemetry.csv
1 week ago
Alan Johnston 5faa24c6f3
Delete spacecraft/PacSatGround_0.46o/PacSatSim_Type2_MINMAX.frame
1 week ago
Alan Johnston a75fe74338
Delete spacecraft/PacSatGround_0.46o/PacSatSim_Type1_HEALTH.frame
1 week ago
Alan Johnston 7be11fb8fb
Update pacsat.sh added extra spaces
1 week ago
Alan Johnston c8c7859e5a
Update pacsat.sh check for PacSat Ground mode before running
1 week ago
Alan Johnston 4cb685a5e5
Update install add auto remove at end
1 week ago
Alan Johnston 8827474384
Delete groundstation/direwolf/direwolf-fm-pacsat-jp14-ptt.conf
1 week ago
Alan Johnston 0eae3bb40b
Delete groundstation/direwolf/direwolf-fm-pacsat-jp14-loop.conf
1 week ago
Alan Johnston 06bcd1022e
Delete groundstation/direwolf/direwolf-fm-pacsat-jp14-device.conf
1 week ago
Alan Johnston b24c51e00e
Delete groundstation/direwolf/direwolf-fm-pacsat-jp14.conf
1 week ago
Alan Johnston 4f556ec535
Delete groundstation/direwolf/direwolf-fm-pacsat-pwm.conf
1 week ago
Alan Johnston 5609b9426d
Delete groundstation/direwolf/direwolf-fm-pacsat.conf
1 week ago
Alan Johnston b756b1e53a
Delete groundstation/direwolf/direwolf-pacsat-loopback.conf
1 week ago
Alan Johnston c24b016538
Delete groundstation/reset_pacsat.sh
1 week ago
Alan Johnston cefba788f4
Delete groundstation/pacsatlog.desktop
1 week ago
Alan Johnston bbe6740c14
Delete groundstation/pacsat-dj.sh
1 week ago
Alan Johnston 5e5ca19f5b
Delete groundstation/pacsat-df.sh
1 week ago
Alan Johnston 44ec5a6bbb
Delete groundstation/pacsat-d.sh
1 week ago
Alan Johnston ced62e0286
Delete direwolf/direwolf.conf
1 week ago
Alan Johnston 20a6e49d84
Delete direwolf/direwolf-pacsatsim-pwm.conf
1 week ago
Alan Johnston bb4d84bc64
Delete direwolf/direwolf-pacsatsim-pwm-loopback.conf
1 week ago
Alan Johnston e88234a816
Delete direwolf/direwolf-pacsatsim-loopback.conf
1 week ago
Alan Johnston cc3a2452d1
Delete direwolf/direwolf-pacsatsim-jp14.conf
1 week ago
Alan Johnston 699241ced8
Delete direwolf/direwolf-pacsatsim-jp14-loop.conf
1 week ago
Alan Johnston 41a81a72e4
Delete direwolf/direwolf-pacsatsim-jp14-half.conf
1 week ago
Alan Johnston 941db56402
Delete txLED.py
1 week ago
Alan Johnston fe33cc013d
Delete pacsatsim-f.sh
1 week ago
Alan Johnston 97fd6433a8
Delete pacsatsim-djf.sh
1 week ago
Alan Johnston 2ea40d3500
Delete pacsatsim-dj.sh
1 week ago
Alan Johnston 55028e0692
Delete pacsatsim-df.sh
1 week ago
Alan Johnston 50ba696b8b
Delete pacsat-test.sh
1 week ago
Alan Johnston 88956a36b2
Delete pacsatsim-d.sh
1 week ago
Alan Johnston 7c00ec70f1
Update transmit.py repeater gain 4000
1 week ago
Alan Johnston fd367d77a2
Update transmit.py repeater mode gain 8000
1 week ago
Alan Johnston 000641f36f
Update config don't print no rtl-sdr
1 week ago
Alan Johnston 3efc2cb038
Update pacsat.sh fix first time prints
1 week ago
Alan Johnston d93ef609c1
Update pacsat.sh on first run, download zip file of spacecraft
1 week ago
Alan Johnston a26bff8679
Update pacsat-config.sh add missing cd
1 week ago
Alan Johnston c6a2c31495
Update install fix kms setting
1 week ago
Alan Johnston a3c3c165db
Update PacSatSim.dat fix satellite name
1 week ago
Alan Johnston a7a0805aab
Merge pull request #422 from alanbjohnston/master-b-p-s
1 week ago
Alan Johnston 7fbfb32309
Update pacsat.sh cleanup
1 week ago
Alan Johnston 0761ced4ca
Update pacsat.sh missing ;
1 week ago
Alan Johnston 1fe7a1b57b
Update pacsat.sh print error messages if txc or sound card not present
1 week ago
Alan Johnston 918bff8446
Update config add to status
1 week ago
Alan Johnston 53b7455e2e
Update pacsat.sh with tests for sound card, txc, and rtl
1 week ago
Alan Johnston 86a17ea38e
Update pacsatsim.sh fix else
1 week ago
Alan Johnston 28c335c985
fix missing fi
1 week ago
Alan Johnston 080f568074
Update pacsatsim.sh detect sound card, TXC, and RTL
1 week ago
Alan Johnston e9edb14d33
Update pacsat.sh add pkill
1 week ago
Alan Johnston 2a3d546fef
Update config remove commented out code
1 week ago
Alan Johnston 000bf1f9e3
Update pacsat.sh add safe and fix vox and other modes
1 week ago
Alan Johnston 8db0be76f4
Update asound.conf add ipc permissions to everyone
2 weeks ago
Alan Johnston 16e7882978
Update asound.conf add ipc permissions to everyone
2 weeks ago
Alan Johnston 7e94f40ea9
Update pacsat-config.sh change old callsign too
2 weeks ago
Alan Johnston 3ac84675d2
Update pacsat-config.sh change properties file for satellite
2 weeks ago
Alan Johnston 8e0dcb8580
Update pacsat-config.sh add reset ground station with zip file
2 weeks ago
Alan Johnston aa0742af68
Add files via upload
2 weeks ago
Alan Johnston 9009f08738
Delete spacecraft/PacSatGround_0.46o/PacSatGround.zip
2 weeks ago
Alan Johnston d8ec32e400
Add files via upload
2 weeks ago
Alan Johnston 3caa704333
Add files via upload
2 weeks ago
Alan Johnston 7a7e4e0c5b
Update transmit.py fix not
2 weeks ago
Alan Johnston cb92741418
Update transmit.py fix or
2 weeks ago
Alan Johnston a90e87ac06
add !command_tx to stop pacsatsim
2 weeks ago
Alan Johnston 71321b0c92
Update transmit.py add print to start pacsatsim
2 weeks ago
Alan Johnston cf44ee82d3
Update config don't restart/stop pacsatsim for beacon on/off
2 weeks ago
Alan Johnston d05f624998
Update main.c move start/stop pacsatsim to transmit
2 weeks ago
Alan Johnston add244e541
Update transmit.py stop pacsatsim if not mode p
2 weeks ago
Alan Johnston d720f03055
Update transmit.py if beacon on, restart pacsatsim
2 weeks ago
Alan Johnston 10b7a28ee9
Update pacsat-config.sh download preloaded PacSatGround
2 weeks ago
Alan Johnston 60d11e78d7
directory preloaded with PacSatSim
2 weeks ago
Alan Johnston 623c181eff
Update .gitignore add tmp conf files
2 weeks ago
Alan Johnston a09d1aea2a
Update transmit.py add Safe Mode print
2 weeks ago
Alan Johnston 5b961fc558
Update install bookworm vnc and desktop execute
2 weeks ago
Alan Johnston fef665ee8f
Update transmit.py add safe mode txLed on/off
2 weeks ago
Alan Johnston 4ebdc99d77
Update pacsat.sh add loopback
2 weeks ago
Alan Johnston 0dd73605ea
Update pacsat.sh update to using default direwolf conf
2 weeks ago
Alan Johnston 21b9687ddb
Update direwolf-pacsat.conf default pacsat conf
2 weeks ago
Alan Johnston cdf9ec99b3
Update pacsatsim.sh loopback changes
2 weeks ago
Alan Johnston 85ea8724ba
Update pacsatsim.sh add vox and pwm set by parameters
2 weeks ago
Alan Johnston 2941a55e61
Update pacsatsim.sh back to pwm
2 weeks ago
Alan Johnston 288e4b47ab
Update pacsatsim.sh add soundcard mode
2 weeks ago
Alan Johnston 836ec52844
Update transmit.py don't stop start rpitx unless safe mode
2 weeks ago
Alan Johnston 0d8355d018
Update pacsatsim.sh add pwm
2 weeks ago
Alan Johnston b4adf4d059
Update pacsatsim.sh move direwolf call
2 weeks ago
Alan Johnston 70220236d6
Update direwolf-pacsatsim.conf remove callsign
2 weeks ago
Alan Johnston dcdc203e1f
Update pacsatsim.sh add configured callsign
2 weeks ago
Alan Johnston 8348da54e9
Update pacsatsim.sh fix file names
2 weeks ago
Alan Johnston 41c74f422c
Update pacsatsim.sh use direwolf template to create conf
2 weeks ago
Alan Johnston 85fed02a78
Update direwolf-pacsatsim.conf to common settings
2 weeks ago
Alan Johnston 4a9811ec94
Update transmit.py don't stop and start rpitx
2 weeks ago
Alan Johnston 657e82899d
Update transmit.py fix system
2 weeks ago
Alan Johnston a85fa3d797
Update transmit.py change back to sys
2 weeks ago
Alan Johnston 344da1ae49
Update transmit.py fix sys
2 weeks ago
Alan Johnston 6f0b5ad641
Update transmit.py change to tx
2 weeks ago
Alan Johnston fb52cee8b8
Update pacsatsim.sh remove arecord and rpitx
2 weeks ago
Alan Johnston f5b12239a8
Update transmit.py for safe mode, use sim.cfg frequency
2 weeks ago
Alan Johnston 3ad7cdb6f9
Update pacsatsim.sh safe mode read frequency from sim.cfg
2 weeks ago
Alan Johnston 2b01295c54
Update transmit.py rerun rpitx to stop it
2 weeks ago
Alan Johnston da0f8f6301
Update transmit.py kill arecord too
2 weeks ago
Alan Johnston edada6e8b9
Update transmit.py indent fix
2 weeks ago
Alan Johnston 698cb0646f
Update transmit.py typo
2 weeks ago
Alan Johnston 2e66c5e804
Update transmit.py add start/stop rpitx
2 weeks ago
Alan Johnston 418ee8dcc4
Update direwolf-pacsatsim-pwm-loopback.conf gpis 17 for PTT (need jumper)
2 weeks ago
Alan Johnston f907b83a18
Update direwolf-pacsatsim-pwm-loopback.conf ptt to 27
2 weeks ago
Alan Johnston aad8a8c77a
Update direwolf-pacsatsim-pwm-loopback.conf add loopback
2 weeks ago
Alan Johnston 3b6daedb49
Rename pacsatsim-direwolf-pwm-loopback.conf to direwolf-pacsatsim-pwm-loopback.conf
2 weeks ago
Alan Johnston 7072f03327
Rename pacsatsim-direwolf-pwm-loop.conf to pacsatsim-direwolf-pwm-loopback.conf
2 weeks ago
Alan Johnston a5d8b49f38
Update pacsatsim.sh add safe mode
2 weeks ago
Alan Johnston 22a9c75cdd
Create pacsatsim-direwolf-pwm-loop.conf
2 weeks ago
Alan Johnston 04b2b7be84
Update transmit.py only do PacSat txLED if not safe mode
2 weeks ago
Alan Johnston e046477303
Update config for -o start and stop pacsatsim
2 weeks ago
Alan Johnston 248f92f053
Update PacSatSim-coef.csv change to times 10
2 weeks ago
Alan Johnston d87e304020
Update PacSatSim_rttelemetry.csv counts for pressure
2 weeks ago
Alan Johnston 4d09937032
Update PacSatSim-coef.csv Try Counts for integers
2 weeks ago
Alan Johnston 5ce5e937dd
Update PacSatSim-coef.csv add Times 100 for Alt, use Sint16 for currents
2 weeks ago
Alan Johnston e37992faf0
Update PacSatSim_rttelemetry.csv Altitude times 100
2 weeks ago
Alan Johnston c76b1076cf
Update dtmf_aprs_cc.py remove counter on APRS mode 0
2 weeks ago
Alan Johnston 0f023afeb3
Update install also delete uptime file if update
2 weeks ago
Alan Johnston 6ef472e785
Update install remove aprs files on update
2 weeks ago
Alan Johnston 7d161c65a7
Update config fix command_count.txt
2 weeks ago
Alan Johnston c618768637
Update dtmf_aprs_cc.py cleanup
2 weeks ago
Alan Johnston 77e8cc788d
Update dtmf_aprs_cc.py cleanup
2 weeks ago
Alan Johnston 09eb0fbf36
Update dtmf_aprs_cc.py change to gpio command
2 weeks ago
Alan Johnston 21782f6149
Update dtmf_aprs_cc.py remove GPIO
2 weeks ago
Alan Johnston ea18e415f0
Update dtmf_aprs_cc.py add echos
2 weeks ago
Alan Johnston 7fab574ea9
Update command add /home/pi/venv/bin/
2 weeks ago
Alan Johnston 87ded09228
Update pacsat.sh change reset wording
2 weeks ago
Alan Johnston 6f2609dcd4
Update direwolf-pacsatsim-pwm.conf add DIGIPEAT
2 weeks ago
Alan Johnston f74042e7e2
Update main.c remove test for i2c-bus 11
2 weeks ago
Alan Johnston 0407da438d
Update telem.c add venv
2 weeks ago
Alan Johnston 71a16255bd
Update main.c add python env activation
2 weeks ago
Alan Johnston 8a2b7d1e19
Update main.h add python venv
2 weeks ago
Alan Johnston 62781b1076
Update direwolf-pacsatsim-pwm.conf fix typo
3 weeks ago
Alan Johnston b76f9697ef
Update direwolf-pacsatsim-pwm.conf update to work with Bookworm
3 weeks ago
Alan Johnston dc8ad4b03e Merge branch 'master-b-p' of http://github.com/alanbjohnston/CubeSatSim into master-b-p
3 weeks ago
Alan Johnston 0c430f7586 delete update and replace with link to install
3 weeks ago
Alan Johnston 19a2bdb415
Update install only download PacSat Ground if not installed
3 weeks ago
Alan Johnston 37af54884c
Update install fix direwolf url check
3 weeks ago
Alan Johnston 076e7b9725
Update install move direwolf install message
3 weeks ago
Alan Johnston 2bb215621c
Update install enable cubesatsim
3 weeks ago
Alan Johnston 55021b4601
Update install missing space before ]
3 weeks ago
Alan Johnston a585394591
Update install add missing fi
3 weeks ago
Alan Johnston 1f86ea0d81
Update install add comment to update script
3 weeks ago
Alan Johnston 30d189811c
Update install rerun if install script is updated
3 weeks ago
Alan Johnston cf3e52a2d6
Update install update pi_pacsat and pacsat_telem if changed
3 weeks ago
Alan Johnston f6821e6750
Update transmit.py missing tab
3 weeks ago
Alan Johnston 9a4f5ff1f6
Update transmit.py remove RPI.GPIO
3 weeks ago
Alan Johnston 1bd0b8e008
Update transmit.py input just print output
3 weeks ago
Alan Johnston 0aa1d7767e
Update transmit.py don't need sleep 20 at start
3 weeks ago
Alan Johnston 63f693bcbc
Update transmit.py fix ptt
3 weeks ago
Alan Johnston e2920121e2
Update transmit.py change put read to gpio
3 weeks ago
Alan Johnston be66f93fcf
Update transmit.py remove GPIO.setup(pttPin, GPIO.IN)
3 weeks ago
Alan Johnston 3a7ece7c1a
Update transmit.py ptt gpio not RPI.GPIO
3 weeks ago
Alan Johnston 30ee1b7b51
Update transmit.py add sleep 20
3 weeks ago
Alan Johnston 02fc6e03c0
Update main.c not missing transmit
3 weeks ago
Alan Johnston 882089f910
Update main.c add missing start transmit
3 weeks ago
Alan Johnston 5f486fd396
Update transmit.py sudo for uptime
3 weeks ago
Alan Johnston 861aeee148
Update install remove cpu limitations, reinstall Direwolf if not latest
3 weeks ago
Alan Johnston 0942b36c3b
Update pacsatsim.sh pacsat_telem not sudo
3 weeks ago
Alan Johnston 4c173a9a0f
add sudo usermod -a -G gpio pi
3 weeks ago
Alan Johnston dda02ce8e1
Update install add make clean
3 weeks ago
Alan Johnston 3b75f3739c
Update pacsatsim.sh add usermod gpio pi
3 weeks ago
Alan Johnston 83b858f1eb
Update config missing fi
3 weeks ago
Alan Johnston e243b99d4b
Update transmit.py change 27 to 20
3 weeks ago
Alan Johnston 7df84939dc
Update transmit.py print GPIO setup
3 weeks ago
Alan Johnston 61f71a12f4
Update transmit.py missing "
3 weeks ago
Alan Johnston 08ceffde37
Update transmit.py fix output duplicate
3 weeks ago
Alan Johnston a0ff427c3b
Update main.c fix extra {
3 weeks ago
Alan Johnston 39f523fc85
Update main.c missing PACSAT conditional
3 weeks ago
Alan Johnston f3c4d4b3ad
Update main.c remove extra }
3 weeks ago
Alan Johnston a05938d741
Update main.c fix else
3 weeks ago
Alan Johnston ddefdb9d38
Update main.h remove redefinitions
3 weeks ago
Alan Johnston 588c568bfe
Merge pull request #420 from alanbjohnston/pacsat-v2.2-tlm4
3 weeks ago
Alan Johnston e3a54caf3b resolve merge conflicts
3 weeks ago
Alan Johnston 04dda2aadf
Update transmit.py resolve merge conflicts
3 weeks ago
Alan Johnston 876e1c011d
Update main.h resolve merge conflicts
3 weeks ago
Alan Johnston 9e0c897d60
Update main.c resolve merge conflicts
3 weeks ago
Alan Johnston 332a2fd216
Update install resolve merge conflicts
3 weeks ago
Alan Johnston 891a60befa
Update sstv_decode_prompt.sh resolve merge conflicts
3 weeks ago
Alan Johnston 0f55b60192
Update sdr.sh resolve merge conflicts
3 weeks ago
Alan Johnston 91a6c2d902
Update rtl-tcp.sh resolve merge conflicts
3 weeks ago
Alan Johnston 987cabaf32
Update packet.sh resolve merge conflicts
3 weeks ago
Alan Johnston 55e717332f
Update loc.sh resolve merge conflict
3 weeks ago
Alan Johnston 11bd5a7d1e
Update fox.sh resolve merge conflict
3 weeks ago
Alan Johnston 47705af707
Update direwolf.conf resolve merge conflict
3 weeks ago
Alan Johnston 42aa30f83d
Update cubicsdr.sh resolve merge conflict
3 weeks ago
Alan Johnston 0e0a8e9927
Update dtmf_aprs_cc.py finish merge conflict changes
3 weeks ago
Alan Johnston e4d08dc1f0
Update dtmf_aprs_cc.py making changes to merge
3 weeks ago
Alan Johnston e24cdc0724
add try around read for UTF-8 issue
3 weeks ago
Alan Johnston 13fe23c425
Update dtmf_aprs_cc.py needs merge conflict done
3 weeks ago
Alan Johnston c6bda6325e
Update direwolf-cc.conf resolve merge conflict
3 weeks ago
Alan Johnston 7b0544ba23
Update config resolve merge conflicts
3 weeks ago
Alan Johnston 6b23a0b478
Update config merge conflict
3 weeks ago
Alan Johnston 8221559d77
Update direwolf-fm-pacsat-jp14.conf turn off ptt
3 weeks ago
Alan Johnston 5b16fe457f
Update pacsat.sh add sound card VOX option
3 weeks ago
Alan Johnston c7a359fd7d
Update pacsatsim.sh add vox print
3 weeks ago
Alan Johnston f801396a49
Update pacsatsim.sh add vox variable
3 weeks ago
Alan Johnston 8e92c21114
Update pacsatsim.sh add v option for USB audio TX and RX
3 weeks ago
Alan Johnston 3ddf0b897d
Update install remove peripheral
3 weeks ago
Alan Johnston 183374f903
Update install to install cmake
3 weeks ago
Alan Johnston f42b8f0f7b
Update install fix desktop copy
3 weeks ago
Alan Johnston c22b8bc79b
change to current version direwolf
3 weeks ago
Alan Johnston b456129b88
direwolf checkout master-sync-invert
3 weeks ago
Alan Johnston e2a1cb0fc9
fix second menu
3 weeks ago
Alan Johnston b1ff14c3bc
Update install fix pi_pacsat install
3 weeks ago
Alan Johnston 0a69610f8c
Update install add desktop install
3 weeks ago
Alan Johnston a269cca2b3
Update install fix g0kla lib
3 weeks ago
Alan Johnston ac14553038
Update install fix pacsat_telem install
3 weeks ago
Alan Johnston 7c9e8e39b2
Update pacsat-run.sh kill direwolf at end if quit Pacsat ground station
3 weeks ago
Alan Johnston 5cd4ebec22
Update pacsat-run.sh add kill direwolf
3 weeks ago
Alan Johnston a1dee64675
Update pacsat-config.sh cleanup
3 weeks ago
Alan Johnston 0e86e8771e
Update pacsat-config.sh Loopback config settings
3 weeks ago
Alan Johnston 7e32427429
Update pacsat-config.sh missing fi
3 weeks ago
Alan Johnston d90344a08b
Update pacsat-config.sh add else
3 weeks ago
Alan Johnston a98b949d20
Update pacsat.sh add TNC delay set to 750, remove callsign
3 weeks ago
Alan Johnston 8d672cccb6
Update pacsat-config.sh add main and simulated
3 weeks ago
Alan Johnston 4025dca6c1
Update direwolf-pacsat-loopback.conf change to 8100
3 weeks ago
Alan Johnston 6ece8ea7c9
Update config remove pacsat ground reset
4 weeks ago
Alan Johnston da52631b1c
Update pacsat.sh add Loopback configuration
4 weeks ago
Alan Johnston 88ed76d9df
Update pacsat-config.sh add Loopback config reset
4 weeks ago
Alan Johnston 646ab6cbc3
Update pacsat.sh add Loopback directory
4 weeks ago
Alan Johnston 005578a3e0
Update pacsatsim.sh sudo for direwolf or shared_mic error
4 weeks ago
Alan Johnston e6a1b3c922
Update pacsatsim.sh killall pi_pacsat and pacsat_telem
4 weeks ago
Alan Johnston f6280e6faf
Update config remove all pacsat callsign change code
4 weeks ago
Alan Johnston 7fa62b4ea1
Update pacsatsim.sh fix loopback variable
4 weeks ago
Alan Johnston ff744c5fd7
Update pacsat.desktop change to pacsat-run
4 weeks ago
Alan Johnston d648b06419
Update pacsatsim.sh check callsign and update if changed
4 weeks ago
Alan Johnston b8cabfd761
Update pacsat.sh fix callsign regex
4 weeks ago
Alan Johnston 6c3eec3fd6
Update pacsat.sh print callsigns
4 weeks ago
Alan Johnston 159d3d839d
Update pacsat.sh missing then
4 weeks ago
Alan Johnston 20a9466e54
Update pacsat.sh check callsign and update if changed
4 weeks ago
Alan Johnston 22e9fd4209
Update direwolf-pacsat-loopback.conf back to 1 1
4 weeks ago
Alan Johnston a39e52c617
Update direwolf-pacsatsim-loopback.conf back to 0 0
4 weeks ago
Alan Johnston 582c570be3
Update direwolf-pacsat-loopback.conf mix loopback 0 1
4 weeks ago
Alan Johnston e185aa91d8
Update direwolf-pacsatsim-loopback.conf mix loopback 1 0
4 weeks ago
Alan Johnston e9d0e570fc
Update direwolf-pacsat-loopback.conf kissport 8102
4 weeks ago
Alan Johnston f77025d982
Update direwolf-pacsat-loopback.conf same as pwm
4 weeks ago
Alan Johnston 2e2b7d1ec0
Update direwolf-pacsatsim-loopback.conf make same as pam
4 weeks ago
Alan Johnston 34198a02eb
Update pacsatsim.sh fix extra fi
4 weeks ago
Alan Johnston 0cab7f0623
Update pacsat-d.sh change to loopback
4 weeks ago
Alan Johnston f524d8b340 make executable
4 weeks ago
Alan Johnston 8ade73385c
Update pacsatsim.sh add l parameter for loopback
4 weeks ago
Alan Johnston 6d58ac9bc3
Update pacsat-run.sh for loopback run pacsatsim.sh l
4 weeks ago
Alan Johnston 511b105c59
Update pacsatsim-d.sh change to loopback
4 weeks ago
Alan Johnston 8ff65ab10b
Update pacsat.sh direwolf to background
4 weeks ago
Alan Johnston 69416a1770
Update pacsat.sh add l parameter
4 weeks ago
Alan Johnston e2dbc1de34
Update pacsat-config.sh to fix ground station callsign config
4 weeks ago
Alan Johnston 67b6c5f6bf
Update config remove Ground callsign set, remove remote pacsat
4 weeks ago
Alan Johnston 74fee12526
Update pacsat-config.sh don't sleep at end
4 weeks ago
Alan Johnston 336e0d9ed3
Update pacsat-config.sh update change remote PacSat callsign
4 weeks ago
Alan Johnston eabb2bf9db
Update config fix pacsatsim callsign set when reset
4 weeks ago
Alan Johnston eb23200e67
Update config also change callsign if old is AMSAT
4 weeks ago
Alan Johnston e5eb43df5c
Update config add dev null to stop pacsatsim
4 weeks ago
Alan Johnston 461e45dea6
Update config swap k and K
4 weeks ago
Alan Johnston 43fdf9936c
add new configs
4 weeks ago
Alan Johnston 661ba1d115
Update pacsat.sh create PacSatGround dir if not present
4 weeks ago
Alan Johnston bb6b966ad9
Update pacsatsim.sh add default configuration if not present
4 weeks ago
Alan Johnston aac3606305
Update pacsat-config.sh add config commands
4 weeks ago
Alan Johnston b0df38ee0a
Update pacsat-config.sh prompt 1-5 configure options
4 weeks ago
Alan Johnston 7a7fb34320
Update pacsat-run.sh 3 options
4 weeks ago
Alan Johnston 7940341510
Update pacsat-config.sh fix popup menu
4 weeks ago
Alan Johnston 985c817fa7
Update pacsat-config.sh change options
4 weeks ago
Alan Johnston 8308363663 make pacsat config executable
4 weeks ago
Alan Johnston 6418c63a9d make pacsat scripts executable
4 weeks ago
Alan Johnston fb7e87529d
Create pacsat-run.sh
4 weeks ago
Alan Johnston 4442bd61f3
Update config clear pacsatsim logs too
4 weeks ago
Alan Johnston ea3a4f07e3
Update dtmf_aprs_cc.py change to "G"
4 weeks ago
Alan Johnston de19e5bc0c
Update config with rest of modes for pacsat reboot
4 weeks ago
Alan Johnston ca03c99871
Update config fix fi
4 weeks ago
Alan Johnston 474e3f618b
Update config change -a, -f, -b to reboot for pacsat
4 weeks ago
Alan Johnston 86763119d6
Update dtmf_aprs_cc.py change from G to p for Pacsat mode
4 weeks ago
Alan Johnston 384349e678
Update dtmf_aprs_cc.py add PACSAT mode -g
4 weeks ago
Alan Johnston 5ec12e9d59
Update pacsatsim.sh don't stop command and control
4 weeks ago
Alan Johnston 8f09364a67
Update command add loopback
4 weeks ago
Alan Johnston 7e1b7e90cc
Update dtmf_aprs_cc.py remove DTMF>APDW15
4 weeks ago
Alan Johnston a619e554a8
Update dtmf_aprs_cc.py ad while to keep trying
4 weeks ago
Alan Johnston 66d2dc3471
Update dtmf_aprs_cc.py try around stdin read for UTF-8 issue
4 weeks ago
Alan Johnston 11045fce4a
Update direwolf-cc.conf with shared_mic and change ports
4 weeks ago
Alan Johnston 891f46ae72
Update config add back Pacsat .mode changes
4 weeks ago
Alan Johnston 98d006ddeb
Update config always reboot for Pacsat mode changes
4 weeks ago
Alan Johnston 414bb00be1
Update direwolf-pacsatsim-jp14.conf fix Device
4 weeks ago
Alan Johnston 6e063ee664
Update direwolf-pacsatsim-jp14.conf with shared_mic
4 weeks ago
Alan Johnston 6599bf9cd6
Update direwolf-pacsatsim-pwm.conf with shared_mic
4 weeks ago
Alan Johnston 4738ca2550
Update transmit.py don't do anything with pacsatsim.service
4 weeks ago
Alan Johnston 3577400f79
Update install add asound.conf
4 weeks ago
Alan Johnston 91ba8d3a10
Create asound.conf
4 weeks ago
Alan Johnston 558765f560
Update main.c missing )
4 weeks ago
Alan Johnston 643eaac19e
Update main.c change to restart pacsatsim
4 weeks ago
Alan Johnston 7204051fb6
Update pacsatsim.sh start/stop also
4 weeks ago
Alan Johnston 72dca9aa1a
Update install fix pi_pacsat directory
4 weeks ago
Alan Johnston e1580b2962
Update install
4 weeks ago
Alan Johnston 1cf2d7db43
Update PacSatSim-coef.csv swap FAIL and OK
4 weeks ago
Alan Johnston 3c7dc63dcd
Update main.c don't print BPSK config in PACSAT mode
4 weeks ago
Alan Johnston 54f2e5eb37
Update PacSatSim_rttelemetry.csv from pacsat-v2.2-tlm2
4 weeks ago
Alan Johnston 50c51e8993
Update main.c fix simulated current
4 weeks ago
Alan Johnston e1b25b9aad
Update main.c print simulated currents
4 weeks ago
Alan Johnston 62fbf30df7
Update main.c print simulated telemetry mode
4 weeks ago
Alan Johnston 18ebea9d55
Update main.c change to start/stop pacsatsim
4 weeks ago
Alan Johnston f68ac49095
Update main.c start and stop pacsatsim.service
4 weeks ago
Alan Johnston 74cdc3609a
Update main.c PACAT typo
4 weeks ago
Alan Johnston dc9cdb2034
Update main.c fix missing mode == PACSAT
4 weeks ago
Alan Johnston 3d2836c3ac
Update main.c turn firstTime off with sleepTime set
4 weeks ago
Alan Johnston c52a885419
Update PacSatSim_rttelemetry.csv fixed sensor 1 size
4 weeks ago
Alan Johnston 1721b46528
Update install add pacsat_telem install
4 weeks ago
Alan Johnston 5d32e76ca9
Update pacsatsim.sh with pacsat_telem
4 weeks ago
Alan Johnston d05019609d
Update main.c write b to dataLen
4 weeks ago
Alan Johnston 3a805cbfe0
Update main.c again revert
4 weeks ago
Alan Johnston 8b8ddc567b
Update main.c move sampleTime
4 weeks ago
Alan Johnston 2c7bfa025a
Update main.c try turning firstTime off a different place
4 weeks ago
Alan Johnston 8d9fb6b481
Update main.c revert last change
4 weeks ago
Alan Johnston 368883dcd9
Update main.c move sampleTime set
4 weeks ago
Alan Johnston 8e8a4b3dee
Update main.c comment out first time
4 weeks ago
Alan Johnston bfcbe4c3f4
Update main.c
4 weeks ago
Alan Johnston da78c071f1
Update main.c add fflush
4 weeks ago
Alan Johnston 377f9090d6
Update main.c print for first time off
4 weeks ago
Alan Johnston d20b8e625f
Update main.c reset firstTime
4 weeks ago
Alan Johnston ef4627cd76
Update log add back -a
4 weeks ago
Alan Johnston 9bb0dbac56
Update log with -h and r option for realtime
4 weeks ago
Alan Johnston ab26f6f343
cleanup
4 weeks ago
Alan Johnston 16ed69d2b1
Update PacSatSim_rttelemetry.csv again remove
4 weeks ago
Alan Johnston 18f67be38d
Update PacSatSim_rttelemetry.csv remove extra blank lines at end
4 weeks ago
Alan Johnston 03a06b453d
Update PacSatSim_rttelemetry.csv fix commands count
4 weeks ago
Alan Johnston 501769acea
Update PacSatSim-coef.csv fix On/Off
4 weeks ago
Alan Johnston 836b45a867
Update PacSatSim_rttelemetry.csv remove blank lines at end
4 weeks ago
Alan Johnston e9d485cf51
Update PacSatSim-coef.csv
4 weeks ago
Alan Johnston 2b82a75a85
Update PacSatSim_rttelemetry.csv
4 weeks ago
Alan Johnston a6beb17b67
Update main.c change to bytes
4 weeks ago
Alan Johnston 536e03dd0e
Update main.c print bytes of b[]
4 weeks ago
Alan Johnston 3aee1d6a32
Fix b declaration bug
4 weeks ago
Alan Johnston 7ce0510324
Update main.c print first 5 bytes of b
4 weeks ago
Alan Johnston 3f6dcead9b
Update main.c with index print
4 weeks ago
Alan Johnston b6f3537deb
Update main.c print b
4 weeks ago
Alan Johnston 83ebcba750
print battery voltage for debugging
4 weeks ago
Alan Johnston 67d4b97fde
Update main.c fix timestamp write
4 weeks ago
Alan Johnston 5d2b573377
Update main.c fix timestamp
4 weeks ago
Alan Johnston 19bed2ab73
Update main.c with correct time
4 weeks ago
Alan Johnston e686d1bf17
Fix fwrite size argument for time variable
4 weeks ago
Alan Johnston 1e484a3beb
Add timestamp at start of tlm
4 weeks ago
Alan Johnston 903c4e1e1a
Modify telemetry CSV to add timestamp and update data types
4 weeks ago
Alan Johnston 195f8fac1a
Add timestamp field to telemetry CSV
4 weeks ago
Alan Johnston e82b0fb7b5
Fix byte count for writing to tlm.bin to 70
4 weeks ago
Alan Johnston feab25f51c
Fix fwrite call to use sizeof(char) for byte count
4 weeks ago
Alan Johnston a9c574d4ed
Fix extra brackets in main.c
4 weeks ago
Alan Johnston d098731eca
Declare telem_binary variable at the point of use
4 weeks ago
Alan Johnston 50d0757468
Implement telemetry binary file saving for PACSAT mode
4 weeks ago
Alan Johnston e321f38652
Add header row to telemetry CSV file
4 weeks ago
Alan Johnston e14ec3569f
Refactor telemetry CSV format and remove empty lines
4 weeks ago
Alan Johnston 99a280a606
Update main.h change PACSAT to 8
1 month ago
Alan Johnston 24d4b6c743
Update config add pacsat text
2 months ago
Alan Johnston 65cd80f7f2
Update transmit.py start and stop pacsatsim.service
2 months ago
Alan Johnston 9302ac01b9
Update update add pacsatsim.service installation
2 months ago
Alan Johnston e1b916e4de
Update pacsatsim.service change user to pi
2 months ago
Alan Johnston 6532c06284
Update pacsat.sh add pi user to gpio
2 months ago
Alan Johnston 6f65d5efa5
Update direwolf-pacsatsim-pwm.conf remove txled ptt
2 months ago
Alan Johnston 5c29fffe05
Update transmit.py remove pull-up on pttPin
2 months ago
Alan Johnston 7ae10fdbc5
Update transmit.service change to user pi
2 months ago
Alan Johnston 398fc71782
Update transmit.py remove pttPin set
2 months ago
Alan Johnston 61cec95c97
Update transmit.py change pttPin from 1 to 0
2 months ago
Alan Johnston c341d5a3b4
Update transmit.py add txLed control by PTT
2 months ago
Alan Johnston f526b10e7b
Create txLED.py
2 months ago
Alan Johnston 7358da25e7
Update PacSatSim.properties
2 months ago
Alan Johnston 5a7f1d9c0f
Update PacSatSim_rttelemetry.csv remove 42 and 43
2 months ago
Alan Johnston 3d26d21452
Update PacSatSim-coef.csv add rest of enums
2 months ago
Alan Johnston a4f2c665c5
Update PacSatSim_rttelemetry.csv add rest of enums
2 months ago
Alan Johnston db20b27839
Update PacSatSim_rttelemetry.csv add Status 33
2 months ago
Alan Johnston 437d65a424
Update PacSatSim-coef.csv add Status enum 33
2 months ago
Alan Johnston 4863d08f84
Update PacSatSim-coef.csv add rest of conversions
2 months ago
Alan Johnston 36feace03a
Update PacSatSim_rttelemetry.csv replace rest of cubesatsim_ conversations
2 months ago
Alan Johnston 21ab4e1f18
Update PacSatSim_rttelemetry.csv changed voltage to 29
2 months ago
Alan Johnston 1fbee01b9d
Update PacSatSim.dat change to PacSatSim-coef.csv
2 months ago
Alan Johnston 2fe1fc6e7e
Update PacSatSim-coef.csv add divide by 100 field
2 months ago
Alan Johnston 048c8a8a92
Create PacSatSim-coef.csv
2 months ago
Alan Johnston 6ae0a0dbbd
Update PacSatSim_rttelemetry.csv remove FLOAT2 and INT
2 months ago
Alan Johnston f9a59597a5
Update PacSatSim.dat revert
2 months ago
Alan Johnston 98d1f69a3c
Update PacSatSim.dat updated for PacSatSim_ file names
2 months ago
Alan Johnston 54cb74d30b
Update PacSatSim.dat change to PacSatSim_ filenames
2 months ago
Alan Johnston d3f8697120
Add renamed BPSK telem files from FoxTelem
2 months ago
Alan Johnston 103a98c3e5
Create PacSatSim.commands
2 months ago
Alan Johnston 89e8991aad
Update PacSatSim.properties add command file
2 months ago
Alan Johnston 84d823a5bd
Create PacSatSim.properties
2 months ago
Alan Johnston 71c285371b
Create PacSatSim.dat
2 months ago
Alan Johnston aa3c303990
Delete spacecraft/acSatGround_0.46o directory
2 months ago
Alan Johnston 28dc67fd50
Create PacSatSim.dat
2 months ago
Alan Johnston 51a6f6b3d2
Update direwolf-fm-pacsat-pwm.conf put transmit LED ptt on same line
2 months ago
Alan Johnston 80dd6054aa
Update direwolf-fm-pacsat-pwm.conf add transmit LED
2 months ago
Alan Johnston 927b3ea288
Update direwolf-pacsatsim-pwm.conf add transmit LED
2 months ago
Alan Johnston aafd9419e1
Update direwolf-pacsatsim-pwm.conf txdelay 1000 txtail 10
2 months ago
Alan Johnston bb0d8a3a6f
Update direwolf-pacsatsim-jp14.conf txdelay 1000 txtail 10
2 months ago
Alan Johnston d202c27855
Update direwolf-fm-pacsat-pwm.conf change to plughw and txdelay 1000
2 months ago
Alan Johnston b5c2b1cc04
Update direwolf-fm-pacsat-jp14.conf change to plughw and txdelay 1000
2 months ago
Alan Johnston ec674a80c0
Update update change BBS callsign to -12
2 months ago
Alan Johnston fcf760d6f2
Update pacsatsim.sh run dire wolf in same window
2 months ago
Alan Johnston b6c77b2c29
Update update change pi_pacsat to latest ac2cz
2 months ago
Alan Johnston 554c0b12e6
update library path
2 months ago
Alan Johnston 6a421e7951
Update update fix copy of PacSat spacecraft files
2 months ago
Alan Johnston 777146d053
Update update check for PacSat Ground and check for Desktop
2 months ago
Alan Johnston 4efcc75f0a
Update update to g0kla_common, pacsat version o
2 months ago
Alan Johnston a21b17e901
Update direwolf-pacsatsim-jp14.conf change to card names
4 months ago
Alan Johnston c04e411b64
Rename direwolf-pacsat-pwm.conf to direwolf-pacsatsim-pwm.conf
4 months ago
Alan Johnston 7f9d85add3
Update update pi_pacsat to my repo
4 months ago
Alan Johnston 7d1aeae470
Create direwolf-fm-pacsat-pwm.conf add PWM
4 months ago
Alan Johnston bf572cc9bc
Update pacsat-df.sh add pwm variable
4 months ago
Alan Johnston 67fde490cf
Update pacsatsim-df.sh add pwm variable
4 months ago
Alan Johnston 427b53bee7
Create direwolf-pacsat-pwm.conf for pwm audio out
4 months ago
Alan Johnston fb0776dda8
Update update add cmake and direwolf v1.8
4 months ago
Alan Johnston 2eb2fac981
Update transmit.py change from card to headphones
4 months ago
Alan Johnston 36533e538b
Update pacsat.sh fix dir name
4 months ago
Alan Johnston 7f0814211d
Update pacsat.sh change for version 46n
4 months ago
Alan Johnston 90920a2437
Update update fix pacsat gs install
4 months ago
Alan Johnston 2accb21066
Update install fix pacsat install
4 months ago
Alan Johnston 4051bc0d69
Update install change pacsat ground to 46n
4 months ago
Alan Johnston a6dc350ddd
Update update update pacsatground to 46n
4 months ago
Alan Johnston 1b962d320f
Update install change pacsat from m to n
4 months ago
Alan Johnston 6e4e41478d
Update install change ions and add peripheral
4 months ago
Alan Johnston 303ed89d4a
Update update change iors to alanbjohnston
4 months ago
Alan Johnston d0432d36b1 Merge branch 'pacsat-loop' of http://github.com/alanbjohnston/CubeSatSim into pacsat-loop
4 months ago
Alan Johnston c43ca730b0 changes to pi_pacsat to work over fm
4 months ago
Alan Johnston 6129d0c237 gs edits to make working
4 months ago
Alan Johnston 3f2c43fb3e
Update transmit.py fixed pacsatsim and pacsat modes
5 months ago
Alan Johnston dc697a8306 add fm scripts
5 months ago
Alan Johnston 94041dac3e fix pacsatsim direwolf configs
5 months ago
Alan Johnston 53a05e66e9
Update pacsatsim.sh add pacsatsim-d.sh and rpitx
5 months ago
Alan Johnston 489e2eab1e
Update pacsat.sh added rpitx transmit and direwolf
5 months ago
Alan Johnston 1265d27020
Update pacsat-d.sh update with j14-loop
5 months ago
Alan Johnston 4fcb86904f
Create direwolf-fm-pacsat-jp14-loop.conf
5 months ago
Alan Johnston c52a6f3e0c
Update pacsatsim-d.sh fix filename
5 months ago
Alan Johnston 03fe5a278f
Update pacsatsim-d.sh change to loop
5 months ago
Alan Johnston 0089231f42
Update pacsatsim-d.sh fm and loopback
5 months ago
Alan Johnston 4210c9ad4a
Create direwolf-pacsatsim-jp14-loop.conf
5 months ago
Alan Johnston dd3346792d
Update pacsatsim-dj.sh changed pacsatsim to half duplex
5 months ago
Alan Johnston b3df139614
Update pacsatsim-djf.sh revert
5 months ago
Alan Johnston 227c88a893
Update pacsatsim-djf.sh change to half duplex
5 months ago
Alan Johnston 6742ebac4e Merge branch 'pacsat-loop' of http://github.com/alanbjohnston/CubeSatSim into pacsat-loop
5 months ago
Alan Johnston 065e8be4d8 from pacsatsim half duplex
5 months ago
Alan Johnston 1e9fb2e6d6 update to use USB device
5 months ago
Alan Johnston c0ebd632c6
Update pacsat-dj.sh add fm
1 year ago
Alan Johnston 06fd0e6955
Update pacsat-test.sh add fm
1 year ago
Alan Johnston 105d1312dd
Update pacsat-test.sh add fm
1 year ago
Alan Johnston 4ae4f08851
Update pacsat-dj.sh add fm
1 year ago
Alan Johnston b0ed82ded4 adding direwolf jp14 script
1 year ago
Alan Johnston e735f7487f
Update direwolf-fm-pacsat-jp14.conf making same as loopback but with Device
1 year ago
Alan Johnston 1d6d138149
Update direwolf-pacsatsim-jp14.conf making the same as loopback but with Device
1 year ago
Alan Johnston 35e2e0e3d0
Merge pull request #362 from alanbjohnston/pacsat-loop-2
1 year ago
Alan Johnston 95eb85e88d
Update pacsat.sh removed &
1 year ago
Alan Johnston ff78469858
Update pacsat-test.sh add bash
1 year ago
Alan Johnston 509fa014c5
Update pacsat-test.sh add 4 windows
1 year ago
Alan Johnston 259419573f test script to launch 4 windows
1 year ago
Alan Johnston 76d8323dc0
Update README.md
1 year ago
Alan Johnston 25da37ea52
Update direwolf-pacsatsim-loopback.conf change full duplex on
1 year ago
Alan Johnston 034ffeec91
Update pacsatsim.sh don't start direwolf
1 year ago
Alan Johnston 7c2cfc9b8b
Update pacsat.sh don't start direwolf
1 year ago
Alan Johnston cef6daf1d7
Update pacsatsim-d.sh just run direwolf
1 year ago
Alan Johnston cb6d5ea73a
Update pacsat-d.sh just run direwolf
1 year ago
Alan Johnston c45674512e separate direwolf windows
1 year ago
Alan Johnston 586e22b1ba
Update pacsat.sh don't kill direwolf
1 year ago
Alan Johnston b42985527a
Update pacsat.sh don't restart pacsatsim
1 year ago
Alan Johnston dcc6eb488a
Update direwolf-pacsatsim-loopback.conf add -12 to callsign
1 year ago
Alan Johnston 5feee9a4c2
Update packet.sh
1 year ago
Alan Johnston b010b43893
Update CubeSatSim_rttelemetry.csv
1 year ago
Alan Johnston 0ca435040e
Update PacSatSim.properties changed to AMSAT callsign
1 year ago
Alan Johnston f311960426
Update pacsat.sh add & to pacsat
1 year ago
Alan Johnston 04107c2561
Update pacsat.sh remove sudo
1 year ago
Alan Johnston 948252c22e
Update foxtelem.desktop
1 year ago
Alan Johnston b7b91a97da
Update webSDR.desktop typo
1 year ago
Alan Johnston 1eadb145b9
Update direwolf.conf
1 year ago
Alan Johnston 95dd40dbea
Update aprs.desktop
1 year ago
Alan Johnston e24b1a46c6
Update pacsat.desktop
1 year ago
Alan Johnston d49477f0ec
Update pacsat.desktop make window large
1 year ago
Alan Johnston 46a20c7840
Update sstv_decode_prompt.sh remove &
1 year ago
Alan Johnston e41fd1e58c
Update sstv_decode_prompt.sh add &
1 year ago
Alan Johnston 26774c7db3
Update sdrpp.sh add &
1 year ago
Alan Johnston 75e12ce363
Update pacsat.sh back to separate wndow
1 year ago
Alan Johnston 1b20bff48a
Update pacsat.sh add kill sdrpp
1 year ago
Alan Johnston c04e9e7263
Update pacsat.sh change order of pacsat and direwolf
1 year ago
Alan Johnston 87d2ec4b9c
Update pacsat.sh remove &
1 year ago
Alan Johnston ff3230b0c3
Update pacsat.sh back to SHELL
1 year ago
Alan Johnston cfa1f66324
Update pacsat.sh remove SHELL at end
1 year ago
Alan Johnston 978eb8b4eb
Update pacsat.sh launch direwolf in separate window
1 year ago
Alan Johnston 8be415e59b
Update pacsat.sh remove stop pacsatsim at end
1 year ago
Alan Johnston c14d2189eb
Update pacsat.sh add #$SHELL
1 year ago
Alan Johnston 53dfb22cce
Update pacsat.sh added >/dev/null 2>&1
1 year ago
Alan Johnston e99b9d0bb0
Update pacsat.sh
1 year ago
Alan Johnston b3d34ca70f
Update pacsat.sh added pacsatsim stop at the end
1 year ago
Alan Johnston 38121edbbb
Update config fix sed
1 year ago
Alan Johnston d814dc1788
Update config stop pacsatsim and java for callsign change
1 year ago
Alan Johnston 1a7e2f8fdd
Update pacsat.sh add back kill direwolf
1 year ago
Alan Johnston 0fb005db3b
Update config sed typos
1 year ago
Alan Johnston 2c25bbf453
Update config remove dev null
1 year ago
Alan Johnston 00fff29dc6
Update config change callsign in Pacsat Ground Station
1 year ago
Alan Johnston aeec194e8d
Update loc-add-foxtelem.py added Pacsat location setting
1 year ago
Alan Johnston 3ef21390e3
Update sdrpp.sh add alsa stop/start
1 year ago
Alan Johnston d25bbf7dc0
Update sdr.sh add alsa stop/start
1 year ago
Alan Johnston 15986706d8
Update rtl-tcp.sh add alsa stop/start
1 year ago
Alan Johnston e676205c3c
Update pacsat.sh add alsa stop/start
1 year ago
Alan Johnston 29acb25334
Update fox.sh add alsa stop/start
1 year ago
Alan Johnston d8c8cfe3fa
Update cubicsdr.sh add also stop/start
1 year ago
Alan Johnston 3cce953b8c
Update direwolf-pacsatsim-loopback.conf upload better with txdelay 15
1 year ago
Alan Johnston 0d954f7f3d
Update pacsat.sh add direwolf -dp for packet dump
1 year ago
Alan Johnston d660f64515
Update pacsatsim.sh try -dp
1 year ago
Alan Johnston a2797e17b9
Update pacsatsim.sh try -du
1 year ago
Alan Johnston 1c67dbdbb3
Update install changed from W3ZM to AMSAT
1 year ago
Alan Johnston 4b3e527419
Update direwolf-pacsat-loopback.conf set AGW port
1 year ago
Alan Johnston d22bbc222d
Update pacsat.sh change to 10 second delay
1 year ago
Alan Johnston 0bc9b97a72
Update pacsat.sh add 30 second delay
1 year ago
Alan Johnston f6053fc6ba
Update pacsat.sh run direwolf back in
1 year ago
Alan Johnston 8a8c09814a
Update pacsatsim.sh direwolf back in
1 year ago
Alan Johnston 2219931cec adding reset_pacsat
1 year ago
Alan Johnston fa11e21422
Update pacsat.sh remove direwolf killall
1 year ago
Alan Johnston 47a6a89fb9
Update pacsat.sh comment out direwolf
1 year ago
Alan Johnston 8007aa4530
Update pacsatsim.sh comment on direwolf
1 year ago
Alan Johnston ed93dbc59a
Create direwolf-pacsatsim-loopback.conf
1 year ago
Alan Johnston d37400dd31
Update pacsatsim.sh direwolf loopback
1 year ago
Alan Johnston ec1e6fafab
Update pacsatsim.sh don't kill direwolf
1 year ago
Alan Johnston 0556866021
Update direwolf-pacsatsim-jp14.conf 1 1
1 year ago
Alan Johnston c26743c59f
Update direwolf-pacsat-loopback.conf 0 0
1 year ago
Alan Johnston 81be0e9b3c
Update direwolf-pacsat-loopback.conf to 0 1
1 year ago
Alan Johnston 65b69f64fd
Update pacsat.sh add missing direwolf
1 year ago
Alan Johnston 993848e641
Update packet.sh dire wolf with colors
1 year ago
Alan Johnston 69c2f9457a
Update packet.sh add kill sdrpp
1 year ago
Alan Johnston ca6b036ea8
Update sstv_decode_prompt.sh mode 4
1 year ago
Alan Johnston a8692efe42
Update fox-run.sh removed fox
1 year ago
Alan Johnston 7db82fff14
Update fox-run.sh add venv activate
1 year ago
Alan Johnston b3eeaaa868
Update loc.sh activate venv
1 year ago
Alan Johnston 577d0f93ed
Update foxtelem.desktop
1 year ago
Alan Johnston 5f09c5a73c
Update fox-download.desktop
1 year ago
Alan Johnston d8c40c6b57
Update fox-run.sh
1 year ago
Alan Johnston c0653b5b1d
Update fox-startup.sh
1 year ago
Alan Johnston 1005600159
Update fox-profile.sh
1 year ago
Alan Johnston 861fe223d8
Update rtl-tcp.sh add sleep at end
1 year ago
Alan Johnston 4de35d7977
Update rtl-tcp.sh add back in journalctl log
1 year ago
Alan Johnston 0df2108bda
Update rtl-tcp.sh fixed typo
1 year ago
Alan Johnston 84d090747c
Update rtl-tcp.sh add while to close window
1 year ago
Alan Johnston f224a0ede0
Update rtl-tcp.sh add journalctl messages
1 year ago
Alan Johnston a991cf979d
Update rtl_tcp.service changed to IP address not host name
1 year ago
Alan Johnston 15ebacf05b
Update rtl-tcp.sh use systemd
1 year ago
Alan Johnston b43aa9da60 add sdrpp script
1 year ago
Alan Johnston 3aeed04e41
Update rtl_tcp.service removed path
1 year ago
Alan Johnston 03be3471e0
Update and rename rtltcp.service to rtl_tcp.service revert
1 year ago
Alan Johnston a259419e2d
Create rtltcp.socket from niclashoyer/rtltcp
1 year ago
Alan Johnston 9c5dc8bd2f
Update and rename rtl_tcp.service to rtltcp.service from niclashoyer/rtltcp
1 year ago
Alan Johnston 389870d5b7
Update chromium.desktop changed to myurl
1 year ago
Alan Johnston 757430adfc
Update webSDR.desktop
1 year ago
Alan Johnston 84e5a7c2d6
Update packet.sh added alsa stop/start
1 year ago
Alan Johnston 9b5fb21428
Update sstv_decode_prompt.sh
1 year ago
Alan Johnston 961c80d8ec
Update sstv_decode_prompt.sh added also stop/start
1 year ago
Alan Johnston 8ccc7040bc
Update sstv_decode_prompt.sh
1 year ago
Alan Johnston b3ef984e54
Update aprs.desktop
1 year ago
Alan Johnston 17437ecc58
Update packet.sh changed subchannel
1 year ago
Alan Johnston 869107baf2
Update direwolf.conf change speaker to loopback
1 year ago
Alan Johnston 6826e558b3
Update direwolf.conf change speaker to default
1 year ago
Alan Johnston 46a2dfd578
Update packet.sh remove tee
1 year ago
Alan Johnston ca2a06d119
Update sstv_decode_prompt.sh changed play device
1 year ago
Alan Johnston 8925b52b6a
Update sdr.sh get rid of Restore pages popup
1 year ago
Alan Johnston 0185e522fb
Update loc.sh add venv
1 year ago
Alan Johnston be3af7add8
Update bookmarks.json
1 year ago
Alan Johnston 2cd5718e43
Create settings.json
1 year ago
Alan Johnston 0e590a838e
Update bookmarks.json
1 year ago
Alan Johnston 061845cdfe
Update aprs.sh full path for direwolf conf
1 year ago
Alan Johnston 28ab2a8688
Update direwolf.conf changed speaker to default
1 year ago
Alan Johnston 30a48e2dd2
Update aprs.sh remove tee
1 year ago
Alan Johnston 6f81e7d907
Update cubicsdr.sh
1 year ago
Alan Johnston 3b85b6e6b5
Update rtl-tcp.sh
1 year ago
Alan Johnston 42857a18cf
Update sdr.sh
1 year ago
Alan Johnston 324731eef7
Update sstv_decode_prompt.sh
1 year ago
Alan Johnston 2ceeb9c625
Update fox.sh
1 year ago
Alan Johnston 1190ebca96
Update aprs.sh
1 year ago
Alan Johnston cbe338671a
Update cubicsdr.desktop
1 year ago
Alan Johnston 5d2f5ada8d
Create SDRpp.desktop
1 year ago
Alan Johnston 5dc9c1b18d
Update set location.desktop
1 year ago
Alan Johnston 6d0a9fa82d
Update rtl-tcp.desktop
1 year ago
Alan Johnston 3a4373ea14
Update gpredict.desktop
1 year ago
Alan Johnston 4c7f4d5e17
Update fox-profile.desktop
1 year ago
Alan Johnston d2cf921336
Update sstv_decode_prompt.sh remove tee
1 year ago
Alan Johnston 54bcd77317
Update sstv_decode_prompt.sh remove hw:0.0 on play
1 year ago
Alan Johnston 976ac01816
Update install switch pi_pacsat back to ac2cz
1 year ago
Alan Johnston 087eab0625
Update transmit.py fixed CARD=Device
1 year ago
Alan Johnston 9f7d7e8334
Update transmit.py repeater mode CARD
1 year ago
Alan Johnston e574937c7a
Update pacsat.sh remove frequency comments
1 year ago
Alan Johnston 9ca2860de8
Create pacsatlog.desktop
1 year ago
Alan Johnston 41d47740a3
Create pacsat.desktop
1 year ago
Alan Johnston 002c3dbd6b
Update install fix pacsat install
1 year ago
Alan Johnston aa0e48aca2
Update pacsat.sh don't set CubeSatSim mode
1 year ago
Alan Johnston 7092c7aa67
Update install changed pi_pacsat to my repo
1 year ago
Alan Johnston d4d6b37829
Update install my fork of pi_pacsat
1 year ago
Alan Johnston 49bf55484c
Update pacsat.sh stop CubeSatSim, transmit, command
1 year ago
Alan Johnston c8b73f9f90
Update direwolf-pacsatsim-jp14.conf TXDELAY 75
1 year ago
Alan Johnston 862c081299
Update direwolf-fm-pacsat-jp14.conf add KISSPORT 8001
1 year ago
Alan Johnston 00354d02df
Update pacsat.sh restart pacsatsim in ground station
1 year ago
Alan Johnston 08420193da
Update direwolf-fm-pacsat-jp14.conf change to Loopback 0 1
1 year ago
Alan Johnston 9c179c5523
Update direwolf-pacsatsim-jp14.conf change to Loopback 1 0
1 year ago
Alan Johnston 5fcc3e1100
Create direwolf-pacsat-loopback.conf with Loopback
1 year ago
Alan Johnston ab446d1b71
Update install added missing -12
1 year ago
Alan Johnston ba05da8f37
Update direwolf-fm-pacsat-jp14.conf remove ax25 fix bits
1 year ago
Alan Johnston 3a5d23767a
Update direwolf-pacsatsim-jp14.conf remove ax25 fix bits
1 year ago
Alan Johnston 735245e148
Update direwolf-fm-pacsat-jp14.conf txdelay and fix bits
1 year ago
Alan Johnston ff0dc0079a
Update direwolf-pacsatsim-jp14.conf txdelay and fix bits
1 year ago
Alan Johnston 263093feba
Update direwolf-fm-pacsat-jp14.conf no PTT no tx
1 year ago
Alan Johnston f7631d9ab9
Update direwolf-pacsatsim-jp14.conf turn off PTT no tx
1 year ago
Alan Johnston 8c66982e22
Update install add pacsatsim.service
1 year ago
Alan Johnston 8e086e02e8
Update direwolf-pacsatsim-jp14.conf remove TXDELAY and FIX_BITS
1 year ago
Alan Johnston 6265b59dc4
Update direwolf-fm-pacsat-jp14.conf comment out TXDELAY and FIX_BITS
1 year ago
Alan Johnston e85a6f52c5
Update log journalctl -af for real-time log
1 year ago
Alan Johnston b5c9caf3d3
Update transmit.py restart pacsatsim
1 year ago
Alan Johnston 7a94bdf6ab
Update log added -p for pacsatsim
1 year ago
Alan Johnston 7f5e890fda
Update transmit.py typo systemctl
1 year ago
Alan Johnston ec415ab928
Update transmit.py lowercase
1 year ago
Alan Johnston e4e9ef04ca
Update transmit.py start pacsatsim.service
1 year ago
Alan Johnston 03cc387dc0
Create pacsatsim.service
1 year ago
Alan Johnston 6d99ed98f5
Update direwolf-fm-pacsat-jp14.conf FIX_BITS
1 year ago
Alan Johnston 21368acaf3
Update direwolf-pacsatsim-jp14.conf added FIX_BITS
1 year ago
Alan Johnston 030e194c4e
Update pacsat.sh D1
1 year ago
Alan Johnston d37729eb71
Update pacsatsim.sh D1
1 year ago
Alan Johnston 4b1b5326e8
Update pacsatsim.sh added -P+ -D3
1 year ago
Alan Johnston 631a691205
Update pacsat.sh added -P+ -D3
1 year ago
Alan Johnston f67036ca01
Update direwolf-fm-pacsat-jp14.conf try 30
1 year ago
Alan Johnston 73dafbedec
Update direwolf-pacsatsim-jp14.conf try delay 30
1 year ago
Alan Johnston 241031396a
Update direwolf-pacsatsim-jp14.conf try 20
1 year ago
Alan Johnston 87b0404c39
Update direwolf-fm-pacsat-jp14.conf try delay 20
1 year ago
Alan Johnston 3ec34c2f73
Update direwolf-fm-pacsat-jp14.conf txdelay 10 needed
1 year ago
Alan Johnston 41171daade
Update direwolf-pacsatsim-jp14.conf tx delay 10 needed
1 year ago
Alan Johnston ba35790cb2
Update transmit.py typo
1 year ago
Alan Johnston 53515b0839
Update transmit.py fix zero squelch for pacsat
1 year ago
Alan Johnston 5e42437bbf
Merge pull request #348 from alanbjohnston/pacsat-1
1 year ago
Alan Johnston 39319af6e8
Update direwolf-fm-pacsat-jp14.conf tx delay 0
1 year ago
Alan Johnston 4e003ebe14
Update transmit.py rx sq off if pacsat mode
1 year ago
Alan Johnston c564eb494f
Update command add -P+ -D1
1 year ago
Alan Johnston 4b0126a975
Update command add -r 48000
1 year ago
Alan Johnston e222728e84
Update direwolf-cc.conf add other params
1 year ago
Alan Johnston 0a71470ce6
Update direwolf-pacsatsim-jp14.conf
1 year ago
Alan Johnston 742b5bd205
Update transmit.py change to USB Soundcard instead of Headphones (PWM)
1 year ago
Alan Johnston 98e56c286f
Update update add GPIO to pi user
1 year ago
Alan Johnston a463f6fe06
Update install added GPIO to user pi
1 year ago
Alan Johnston 763a84b5ae
Update direwolf-pacsatsim-jp14.conf 1200 and delay 10
1 year ago
Alan Johnston 60e99a36a4
Update direwolf-fm-pacsat-jp14.conf back to 1200 and delay 10
1 year ago
Alan Johnston ad4a68f838
Update direwolf-fm-pacsat-jp14.conf try 9600
1 year ago
Alan Johnston cebe77c634
Update direwolf-pacsatsim-jp14.conf try 9600
1 year ago
Alan Johnston b00f8d69b2
Update direwolf-pacsatsim.conf change to plight
1 year ago
Alan Johnston 5983fe4a55
Update direwolf-pacsatsim-jp14.conf change to plight
1 year ago
Alan Johnston 4e3e6421a2
Update direwolf-fm-pacsat.conf added CHANNEL and MODEM
1 year ago
Alan Johnston caab43c884
Update direwolf-fm-pacsat-jp14.conf try 2400, added MODEM and CHANNEL
1 year ago
Alan Johnston 58da647eea
Update direwolf-pacsatsim-jp14.conf try 2400
1 year ago
Alan Johnston 1492df7d1b
Update direwolf-pacsatsim-jp14.conf
1 year ago
Alan Johnston 390b6fecc7
Update direwolf-fm-pacsat-jp14.conf try 5
1 year ago
Alan Johnston 94c56d5a23
Update direwolf-fm-pacsat-jp14.conf TXDELAY 1
1 year ago
Alan Johnston 06917939ae
Update direwolf-pacsatsim-jp14.conf TXDELAY 1
1 year ago
Alan Johnston bfa12ec671
Update direwolf-pacsatsim-jp14.conf added TXDELAY
1 year ago
Alan Johnston 22917da181
Update direwolf-fm-pacsat-jp14.conf added TXDELAY
1 year ago
Alan Johnston 7c9b16a3a9 added for JP14 audio out
1 year ago
Alan Johnston 8433067061
Update pacsat.sh no frequency prompt
1 year ago
Alan Johnston b00a99649c
Update pacsat.sh
1 year ago
Alan Johnston 64a1184935
Update config add print Pacsat ground station mode
1 year ago
Alan Johnston 8ede3a5c9e
Update transmit.py don't turn on c2c for p or P mode
1 year ago
Alan Johnston 2077bfe7f7
Update pacsat.sh run Config -I
1 year ago
Alan Johnston 2e1f2024e7
Update config changed to -I
1 year ago
Alan Johnston 79bd5a787d
Update transmit.py typo
1 year ago
Alan Johnston 042670a231
Update transmit.py added mode P for Pacsat Gnd Station
1 year ago
Alan Johnston ccc5c4ff97
Update main.h added PACSATGND
1 year ago
Alan Johnston 621bcb0fd0
Update main.c added PACSATGND
1 year ago
Alan Johnston 7c4c344b0d
Update config .mode P is pacsat ground station
1 year ago
Alan Johnston 2fb339fd8b
Update direwolf-pacsat.conf full duplex off
1 year ago
Alan Johnston 9a658b02ed
Update direwolf-fm-pacsat.conf full duplex off
1 year ago
Alan Johnston fa89f12a2f
Update direwolf-pacsatsim.conf set fullduplex off
1 year ago
Alan Johnston 24c54e6380
Update update reboot if adding pacsat code
1 year ago
Alan Johnston cd5a39846b
Update update remove single cpu
1 year ago
Alan Johnston 71d11c6488
Update update remove extra git
1 year ago
Alan Johnston 7fa7aaff67
Update update
1 year ago
Alan Johnston e90a082149
Update update fixed cd
1 year ago
Alan Johnston 55b6bb66a1
Update update fixed direwolf update
1 year ago
Alan Johnston 57ddc39f4e
Update update to install pacsat software
1 year ago
Alan Johnston b729af95f1
Update pacsat.sh stop command
1 year ago
Alan Johnston dabca2d794
Update pacsatsim.sh don't stop CubeSatSim or transmit
1 year ago
Alan Johnston d064598d30
Update config display pacsat
1 year ago
Alan Johnston 263fd86981
Update transmit.py fixed pacsat call
1 year ago
Alan Johnston 7eaf1e284a
Update transmit.py v2.1
1 year ago
Alan Johnston fe0791ec6f
Update main.c v2.1
1 year ago
Alan Johnston a66ebedff9
Update config v2.1
1 year ago
Alan Johnston 739e9706a0
Update transmit.py added Pacsat mode
1 year ago
Alan Johnston e4c2f5f997
Update main.h add PACSAT mode 6
1 year ago
Alan Johnston 3422b19772
Update main.c added PACSAT mode
1 year ago
Alan Johnston a64c34c41a
Update config Pacsat mode "p" in .mode
1 year ago
Alan Johnston ded29a91de
Merge pull request #347 from alanbjohnston/pacsat-1
1 year ago
Alan Johnston e441d7ca85
Merge branch 'pacsat' into pacsat-1
1 year ago
Alan Johnston ac61e44c09
Update install copy spacecraft files
1 year ago
Alan Johnston 776aba9511
Update install add java install
1 year ago
Alan Johnston c0c23db6b1
Update install
1 year ago
Alan Johnston 1de4e65358
Update config typo in -c
1 year ago
Alan Johnston 3840860037
Update config fix -c bug
1 year ago
Alan Johnston 4afd9bba1c
Update config don't look at output of sed on callsign
1 year ago
Alan Johnston d74b8b7f86
Update config don't update pacsat callsign
1 year ago
Alan Johnston d726d004eb
Update install config.txt changes
1 year ago
Alan Johnston 46dfb90bd9
Update pacsatsim.sh cd to Debug, don't prompt frequency
1 year ago
Alan Johnston 81cc1c7348
Update pacsat.sh stop CubeSatSim and transmit
1 year ago
Alan Johnston b81492ba32
Update config change callsign in pacsat config
1 year ago
Alan Johnston b97e08cab3
Update install set callsign in pacsat.config
1 year ago
Alan Johnston 22e20ab6bb
Update install PacSatGround
1 year ago
Alan Johnston fd7dd67663
Update pacsat.sh dire wolf -qd and PacSatGround
1 year ago
Alan Johnston d4d0fb542c
Update pacsatsim.sh add -qd to dire wolf
1 year ago
Alan Johnston 84b8b81f2a
Update install download passat ground station
1 year ago
Alan Johnston 21e723d18c
Update config add -G change to Pacsat
1 year ago
Alan Johnston ffe5f107ad
Update PacSatSim.dat
1 year ago
Alan Johnston a19b591fc8
Create PacSatSim.properties
1 year ago
Alan Johnston 5a284b9938
Create PacSatSim.dat
1 year ago
Alan Johnston c10894e28d
Update direwolf-fm-pacsat.conf dev 0
1 year ago
Alan Johnston 3d01785a00
Rename direwolf-fm-pacsat.config to direwolf-fm-pacsat.conf
1 year ago
Alan Johnston 7dc04505f5
Update pacsat.sh check for USB sound card
1 year ago
Alan Johnston 379bc2c232
Create direwolf-fm-pacsat.config
1 year ago
Alan Johnston 58177965b9
Update pacsat.sh add /home/pi/PacSat to script
1 year ago
Alan Johnston 8029ce4c55
Update direwolf-pacsat.conf added KISS port
1 year ago
Alan Johnston 47b1d3b6a2
Update install add passat.config creation
1 year ago
Alan Johnston 26a816212f
Update direwolf-pacsatsim.conf changed to USB card
1 year ago
Alan Johnston a7f1928c7c
Update pacsatsim.sh turn off cubesat and transmit
1 year ago
Alan Johnston 9ae6394219
Update install dire wolf invert branch
1 year ago
Alan Johnston e5a04b3397
Update pacsatsim.sh added export
1 year ago
Alan Johnston 184a65da56
Update install add Pacsat installation
1 year ago
Alan Johnston 828939a54e
Update direwolf-pacsatsim.conf added channel and modem to config
1 year ago
Alan Johnston c8468e2df5
Update direwolf-transmit-dtmf-aprs.conf add ptt
1 year ago
Alan Johnston 5d6e93b981
Update config don't do ptt here
1 year ago
Alan Johnston b4c6a34f92
Update config don't force aprs mode
1 year ago
Alan Johnston 0365075e00
Update config added back in missing esac
1 year ago
Alan Johnston 2acdcc69e2
Update config add dtmf to -A
1 year ago
Alan Johnston 87f8b2e25a
Update direwolf-pacsat.conf changed to Headphones
1 year ago
Alan Johnston 8348d51484
Update pacsat.sh added cd
1 year ago
Alan Johnston e8e08ef8e4
Update pacsat.sh fix path
1 year ago
Alan Johnston aaf292db23
Update pacsat.sh change to passat ground station
1 year ago
Alan Johnston ae07d74c87
Update direwolf-pacsat.conf change to loopback for now
1 year ago
Alan Johnston ede7922fa7
Update pacsatsim.sh commented out rtl-sdr
1 year ago
Alan Johnston 78cb684ae3
Create direwolf-pacsatsim.conf
1 year ago
Alan Johnston b6cd13087a
Update direwolf-pacsat.conf added USB Card
1 year ago
Alan Johnston 45372ed484
Update direwolf-pacsat.conf changed to MYCALL
1 year ago
Alan Johnston a97e2f8ed8
Update pacsatsim.sh typo
1 year ago
Alan Johnston 07b96c781b
Update pacsatsim.sh changed for sim
1 year ago
Alan Johnston 234c9d747d added
1 year ago
Alan Johnston 27b4ffe54b changed permission of pacsat script
1 year ago
Alan Johnston f42d21a74d
Create direwolf-pacsat.conf
1 year ago
Alan Johnston b4a1714d15
Create pacsat.sh
1 year ago

3
.gitignore vendored

@ -47,3 +47,6 @@ logt.txt
telem.txt.bk
failure_mode.txt
sim_mode_auto
direwolf-pacsatsim-tmp.conf
groundstation/direwolf-pacsat-tmp.conf
tlm.bin

@ -22,6 +22,7 @@ pcm.softvol {
pcm.shared_speaker {
type dmix
ipc_key 1024
ipc_perm 0666
slave {
pcm "hw:CARD=Device,DEV=0"
rate 48000
@ -35,6 +36,7 @@ pcm.shared_speaker {
pcm.shared_mic {
type dsnoop
ipc_key 2048
ipc_perm 0666
slave {
pcm "hw:CARD=Device,DEV=0"
# channels 1

@ -1,9 +1,17 @@
#!/bin/bash
echo -e "\nCommand and Control script for CubeSatSim v2.1\n"
echo -e "\nCommand and Control script for CubeSatSim v2.2\n"
sudo modprobe snd-aloop
sudo modprobe snd-aloop
value=`cat /home/pi/CubeSatSim/.mode`
echo "$value" > /dev/null
set -- $value
MODE=$1
FILE=/home/pi/CubeSatSim/command_control
if [ -f "$FILE" ]; then
echo "Radio command and control is ON"
@ -58,11 +66,11 @@ if [[ $(arecord -l | grep "USB Audio Device") ]] && [ -f "$FILE" ]; then
echo "debug mode"
direwolf -c /home/pi/CubeSatSim/direwolf-cc.conf -t 0l | python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py d
direwolf -P+ -D1 -r 48000 -c /home/pi/CubeSatSim/direwolf-cc.conf -t 0l | /home/pi/venv/bin/python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py d
else
direwolf -c /home/pi/CubeSatSim/direwolf-cc.conf -t 0l | python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py
direwolf -P+ -D1 -r 48000 -c /home/pi/CubeSatSim/direwolf-cc.conf -t 0l | /home/pi/venv/bin/python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py
fi
else
@ -107,11 +115,11 @@ else
# echo "debug mode"
# direwolf -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf.conf -t 0l | python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py d
# direwolf -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf.conf -t 0l | /home/pi/venv/bin/python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py d
# else
# direwolf -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf.conf -t 0l | python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py
# direwolf -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf.conf -t 0l | /home/pi/venv/bin/python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py
# fi
@ -124,17 +132,32 @@ else
fi
if [ "$1" = "d" ]; then
echo "debug mode"
python3 /home/pi/CubeSatSim/squelch_cc.py d
value=`cat /home/pi/CubeSatSim/.mode`
echo "$value" > /dev/null
set -- $value
MODE=$1
if [ ! "$MODE" = "P" ] && [ ! "$MODE" = "P" ] ; then
if [ "$1" = "d" ]; then
echo "debug mode"
/home/pi/venv/bin/python3 /home/pi/CubeSatSim/squelch_cc.py d
else
/home/pi/venv/bin/python3 /home/pi/CubeSatSim/squelch_cc.py
fi
else
python3 /home/pi/CubeSatSim/squelch_cc.py
fi
echo "Not running Carrier (squelch) Command and Control since PacSat or PacSat Ground Station mode!"
sleep 60
fi
fi
sudo killall -9 direwolf &>/dev/null

191
config

@ -43,6 +43,9 @@ function transmit_command {
j)
number=7
;;
p)
number=8
;;
o)
number=10
;;
@ -92,7 +95,9 @@ function check_restart {
echo "$value" > /dev/null
set -- $value
if [ "$1" == "f" ] || [ "$1" == "b" ] || [ "$1" == "e" ] || [ "$1" == "j" ] ; then
if [ "$1" = "p" ] || [ "$1" = "P" ] ; then
reboot=1
elif [ "$1" == "f" ] || [ "$1" == "b" ] || [ "$1" == "e" ] || [ "$1" == "j" ] ; then
FILE=/home/pi/CubeSatSim/battery_saver
if [ -f "$FILE" ]; then
restart=1
@ -139,6 +144,7 @@ if [ "$1" = "" ]; then
value=`cat /home/pi/CubeSatSim/.mode`
echo "$value" > /dev/null
set -- $value
MODE=$1
if [ "$1" = "a" ]; then
echo "Mode is APRS"
@ -162,6 +168,10 @@ if [ "$1" = "" ]; then
else
echo -n "APRS"
fi
elif [ "$1" = "p" ]; then
echo "Mode is Pacsat"
elif [ "$1" = "P" ]; then
echo "Mode is Pacsat Ground Station"
else
echo
fi
@ -270,8 +280,13 @@ if [ "$1" = "" ]; then
# cat /home/pi/CubeSatSim/command_tx
# echo
echo -n "Squelch level is: "
echo $6
# echo $MODE
if [ "$MODE" = "p" ] || [ "$MODE" = "P" ] ; then
echo "Squelch is off since PacSat or PacSat Ground Station mode"
else
echo -n "Squelch level is: "
echo $6
fi
# echo
FILE=/home/pi/CubeSatSim/command_control
@ -282,10 +297,18 @@ if [ "$1" = "" ]; then
if [ -f "$FILE" ]; then
echo "Radio DTMF/APRS command and control is ON"
else
echo "Radio carrier command and control is ON"
if [ "$MODE" = "p" ] || [ "$MODE" = "P" ] ; then
echo "Radio carrier command and control is off since PacSat or PacSat Ground Station mode"
else
echo "Radio carrier command and control is ON"
fi
fi
else
echo "Radio carrier command and control is ON"
if [ "$MODE" = "p" ] || [ "$MODE" = "P" ] ; then
echo "Radio carrier command and control is off since PacSat or PacSat Ground Station mode"
else
echo "Radio carrier command and control is ON"
fi
fi
else
echo "Radio command and control is OFF"
@ -315,6 +338,32 @@ if [ "$1" = "" ]; then
echo "Transmit beacon telemetry is ON"
fi
if [[ $(arecord -l | grep "USB Audio Device") ]] ; then
echo "USB Sound Card detected"
soundcard=1
else
echo "No USB Sound Card detected"
soundcard=0
fi
gpio -g mode 7 up
if [[ $(gpio -g read 7 | grep 0) ]] ; then
echo "FM TXC is present"
txc=1
else
echo "FM TXC not present"
txc=0
fi
timeout 1 rtl_test &> out.txt
if [[ $(grep "No supported" out.txt) ]] ; then
# echo "No RTL-SDR detected"
rtl=0
else
echo "RTL-SDR detected"
rtl=1
fi
echo
echo -e "Current sim.cfg configuration file:"
# echo
@ -383,7 +432,11 @@ elif [ "$1" = "-f" ]; then
echo "changing CubeSatSim to FSK mode"
sudo echo "f" > /home/pi/CubeSatSim/.mode
restart=1
if [ "$1" = "p" ] || [ "$1" = "P" ] ; then
reboot=1
else
restart=1
fi
fi
elif [ "$1" = "-b" ]; then
@ -400,7 +453,11 @@ elif [ "$1" = "-b" ]; then
echo "changing CubeSatSim to BPSK mode"
sudo echo "b" > /home/pi/CubeSatSim/.mode
restart=1
if [ "$1" = "p" ] || [ "$1" = "P" ] ; then
reboot=1
else
restart=1
fi
fi
elif [ "$1" = "-s" ]; then
@ -482,8 +539,10 @@ elif [ "$1" = "-c" ]; then
echo "$value" > /dev/null
set -- $value
oldcallsign="$1"
echo "Current value of CALLSIGN is"
echo $1
echo $oldcallsign
echo
# echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${12} ${13}
@ -669,6 +728,7 @@ elif [ "$1" = "-C" ]; then
sudo systemctl stop cubesatsim
sudo systemctl stop transmit
sudo systemctl stop command
sudo systemctl stop pacsatsim
sudo mv -f /home/pi/CubeSatSim/telem.txt /home/pi/CubeSatSim/telem.txt.bk
@ -856,7 +916,7 @@ elif [ "$1" = "-R" ]; then
echo
echo "Current commands count is:"
cat /home/pi/CubeSatSim/commands_count.txt
cat /home/pi/CubeSatSim/command_count.txt
echo
echo "Do you want to reset the commands count to zero (y/n) "
@ -1119,8 +1179,9 @@ elif [ "$1" = "-o" ]; then
value=`cat /home/pi/CubeSatSim/.mode`
echo "$value" > /dev/null
set -- $value
MODE=$1
if [ "$1" == "n" ]; then
if [ "$MODE" == "n" ]; then
transmit_command "o"
@ -1131,35 +1192,19 @@ elif [ "$1" = "-o" ]; then
FILE=/home/pi/CubeSatSim/beacon_off
if [ -f "$FILE" ]; then
echo "Transmit beacon telemetry is off"
# echo
# echo "Do you want to turn beacon telemetry ON (y/n) "
# read reset
reset="y"
echo "Transmit beacon telemetry is off"
echo
if [ "$reset" = "y" ] || [ "$reset" = "yes" ] ; then
echo "Turn beacon telemetry ON"
sudo rm /home/pi/CubeSatSim/beacon_off > /dev/null 2>&1
sudo systemctl restart transmit
# restart=1
fi
echo "Turn beacon telemetry ON"
sudo rm /home/pi/CubeSatSim/beacon_off > /dev/null 2>&1
sudo systemctl restart transmit
else
echo "Transmit beacon telemetry is on"
# echo
# echo "Do you want to turn beacon telemetry OFF (y/n) "
# read reset
reset="y"
echo "Transmit beacon telemetry is on"
echo
if [ "$reset" = "y" ] || [ "$reset" = "yes" ] ; then
echo "Turn beacon telemetry OFF"
touch /home/pi/CubeSatSim/beacon_off
sudo systemctl restart transmit
# restart=1
fi
echo "Turn beacon telemetry OFF"
touch /home/pi/CubeSatSim/beacon_off
sudo systemctl restart transmit
fi
sleep 3
fi
@ -1239,7 +1284,11 @@ elif [ "$1" = "-e" ]; then
echo "changing CubeSatSim to Repeater mode"
sudo echo "e" > /home/pi/CubeSatSim/.mode
restart=1
if [ "$1" = "p" ] || [ "$1" = "P" ] ; then
reboot=1
else
restart=1
fi
fi
elif [ "$1" = "-n" ]; then
@ -1262,6 +1311,10 @@ elif [ "$1" = "-n" ]; then
echo "Switching to mode "$new
sudo echo $new > /home/pi/CubeSatSim/.mode
restart=1
elif [ "$1" = "p" ] || [ "$1" = "P" ] ; then
echo "Switching to PacSat mode"
sudo echo $new > /home/pi/CubeSatSim/.mode
reboot=1
else
echo "Switching to BPSK mode"
sudo echo "b" > /home/pi/CubeSatSim/.mode
@ -1314,7 +1367,7 @@ elif [ "$1" = "-A" ]; then
sudo systemctl stop cubesatsim
sudo systemctl stop transmit
sudo python3 -u /home/pi/CubeSatSim/transmit.py x > /dev/null 2>&1 & # Force APRS mode
# sudo python3 -u /home/pi/CubeSatSim/transmit.py x > /dev/null 2>&1 & # Force APRS mode
fi
sudo systemctl stop command
@ -1323,7 +1376,7 @@ elif [ "$1" = "-A" ]; then
while [ "$MODE" != "x" ];
do
echo "Enter the mode to change: a=APRS, f=FSK, b=BPSK, s=SSTV, m=CW, e=Repeater, j=FUNcube, o=Beacon on/off x=Exit this mode"
echo "Enter the mode to change: a=APRS, f=FSK, b=BPSK, s=SSTV, m=CW, e=Repeater, j=FUNcube, p=PacSat, o=Beacon on/off x=Exit this mode"
read MODE
if [ "$MODE" != "x" ]; then
@ -1747,6 +1800,61 @@ reboot=1
fi
elif [ "$1" = "-G" ]; then
echo "Changing to PacSatSim mode"
value=`cat /home/pi/CubeSatSim/.mode`
echo "$value" > /dev/null
set -- $value
# echo "changing CubeSatSim to Pacsat mode"
reboot=1
sudo echo "p" > /home/pi/CubeSatSim/.mode
# if [ "$1" == "f" ] || [ "$1" == "b" ] || [ "$1" == "e" ] ; then
# FILE=/home/pi/CubeSatSim/battery_saver
# if [ -f "$FILE" ]; then
# restart=1
# else
# reboot=1
# fi
# else
# restart=1
# fi
elif [ "$1" = "-I" ]; then
echo "Changing to PacSat Ground Station mode"
echo
echo "Run the Pacsat Ground Station in the Desktop"
value=`cat /home/pi/CubeSatSim/.mode`
echo "$value" > /dev/null
set -- $value
# echo "changing CubeSatSim to Pacsat mode"
reboot=1
sudo echo "P" > /home/pi/CubeSatSim/.mode
# if [ "$1" == "f" ] || [ "$1" == "b" ] || [ "$1" == "e" ] ; then
# FILE=/home/pi/CubeSatSim/battery_saver
# if [ -f "$FILE" ]; then
# restart=1
# else
# reboot=1
# fi
# else
# restart=1
# fi
elif [ "$1" = "-k" ]; then
echo
echo "Reset PacSatSim configuration"
echo
sudo systemctl stop pacsatsim &>/dev/null
sudo rm -r /home/pi/PacSat
reboot=1
elif [ "$1" = "-h" ]; then
echo "config OPTION"
@ -1762,13 +1870,16 @@ elif [ "$1" = "-h" ]; then
echo " -j Change to FUNcube mode"
echo " -n Change to Transmit Commands mode"
echo " -e Change to Repeater mode"
echo " -j Change to FUNcube mode"
echo " -G Change to PacSatSim mode"
echo " -I Change to PacSat Ground Station mode"
echo " -i Restart CubeSatsim software"
echo " -c Change the CALLSIGN in the configuration file sim.cfg"
echo " -t Change the Simulated Telemetry setting in sim.cfg"
echo " -r Change the Resets Count in the configuration file sim.cfg"
echo " -l Change the Latitude and Longitude in the configuration file sim.cfg"
echo " -S Scan both I2C buses on the Raspberry Pi"
echo " -C Clear logs"
echo " -C Clear logs and reboot"
echo " -T Change command and control state"
echo " -d Change command and control Direwolf state"
echo " -R Change the Commands Count in the file command_count.txt"
@ -1779,7 +1890,7 @@ elif [ "$1" = "-h" ]; then
echo " -H Change the Balloon (HAB) mode"
echo " -p Display payload sensor data for 3 seconds"
echo " -v Display voltage and current data"
echo " -P Change the PL (Private Line) CTCSS/CDCSS codes for RX and TX"
echo " -P Change the PL (Private Line) CTCSS/CDCSS codes for FM RX and TX"
echo " -A Transmit APRS control packets to control another CubeSatSim"
echo " -D Change Transmit Commands state APRS or DTMF"
echo " -o Change telemetry beacon transmit state"
@ -1789,6 +1900,8 @@ elif [ "$1" = "-h" ]; then
echo " -U Change the random failure mode setting"
echo " -N Set next mode or failure"
echo " -u Change gpsd state"
echo " -k Reset the PacSatSim Configuration"
echo
exit

@ -1,2 +1,9 @@
ADEVICE shared_mic hw:CARD=Loopback,DEV=1
DTMF
MYCALL AMSAT
CHANNEL 0
MODEM 1200
FULLDUP OFF
TXDELAY 0
AGWPORT 8200
KISSPORT 8201

@ -0,0 +1,9 @@
CHANNEL 0
MODEM 1200
DWAIT 0
SLOTTIME 10
PERSIST 63
TXDELAY 1000
TXTAIL 10
FULLDUP OFF
DIGIPEAT 0 0 ^WIDE[3-7]-[1-7]$|^TEST$ ^WIDE[12]-[12]$ TRACE

@ -1,4 +1,5 @@
ADEVICE hw:CARD=Loopback,DEV=0 hw:CARD=Headphones,DEV=0
PTT GPIO 20
MYCALL AMSAT
CHANNEL 0
MODEM 1200

@ -1 +0,0 @@
ADEVICE plughw:CARD=Loopback,DEV=1 plughw:CARD=Loopback,DEV=0

@ -1,7 +1,5 @@
import sys
from os import system
# import RPi.GPIO as GPIO
# from RPi.GPIO import output
from time import sleep
import logging
logging.basicConfig(format='%(message)s')
@ -10,10 +8,8 @@ logging.basicConfig(format='%(message)s')
def blink(times):
for i in range(times):
system("gpio write 27 0")
# GPIO.output(27, 0)
sleep(0.1)
system("gpio write 27 1")
# GPIO.output(27, 1)
sleep(0.1)
if __name__ == "__main__":
@ -26,153 +22,167 @@ if __name__ == "__main__":
# print("There are arguments!")
if ('d' == sys.argv[1]):
debug_mode = True
for line in sys.stdin:
# if (debug_mode):
print(line, end =" ")
logging.warning(line)
# if '^c' == line.rstrip():
# break
if ((line.find("MODE=a")) > 0):
system("echo '\nAPRS Mode!!\n'")
mode = 'a'
change_mode = True
if ((line.find("DTMF>APDW15:t1#")) > 0):
system("echo '\nAPRS Mode!!\n'")
mode = 'a'
change_mode = True
if ((line.find("MODE=f")) > 0):
system("echo '\nFSK Mode!!\n'")
mode = 'f'
change_mode = True
if ((line.find("DTMF>APDW15:t2#")) > 0):
system("echo '\nFSK Mode!!\n'")
mode = 'f'
change_mode = True
if ((line.find("MODE=b")) > 0):
system("echo '\nBPSK Mode!!\n'")
mode = 'b'
change_mode = True
if ((line.find("DTMF>APDW15:t3#")) > 0):
system("echo '\nBPSK Mode!!\n'")
mode = 'b'
change_mode = True
if ((line.find("MODE=s")) > 0):
system("echo '\nSSTV Mode!!\n'")
mode = 's'
change_mode = True
if ((line.find("DTMF>APDW15:t4#")) > 0):
system("echo '\nSSTV Mode!!\n'")
mode = 's'
change_mode = True
if ((line.find("MODE=m")) > 0):
system("echo '\nCW Mode!!\n'")
mode = 'm'
change_mode = True
if ((line.find("DTMF>APDW15:t5#")) > 0):
system("echo '\nCW Mode!!\n'")
mode = 'm'
change_mode = True
if ((line.find("MODE=e")) > 0):
system("echo '\nRepeater Mode!!\n'")
mode = 'e'
change_mode = True
if ((line.find("DTMF>APDW15:t6#")) > 0):
system("echo '\nRepeater Mode!!\n'")
mode = 'e'
change_mode = True
if ((line.find("MODE=j")) > 0):
system("echo '\nFUNcube Mode!!\n'")
mode = 'j'
change_mode = True
if ((line.find("DTMF>APDW15:t7#")) > 0):
system("echo '\nFUNcube Mode!!\n'")
mode = 'j'
change_mode = True
if ((line.find("MODE=n")) > 0):
system("echo '\nTransmit Commands Mode!!\n'")
mode = 'n'
change_mode = True
if ((line.find("DTMF>APDW15:t11#")) > 0):
system("echo '\nTransmit Commands Mode!!\n'")
mode = 'n'
change_mode = True
if ((line.find("MODE=o")) > 0):
counter = (counter + 1) % 2 # Direwolf prints it twice, only do once
if (counter == 1):
system("echo '\nBeacon Mode toggle!!\n'")
mode = 'o'
change_mode = True
counter = 1
if ((line.find("DTMF>APDW15:t10#")) > 0):
system("echo '\nBeacon Mode toggle!!\n'")
mode = 'o'
change_mode = True
# if ((debug_mode == False) and (change_mode == True) and (counter == 1): # skip every other APRS command since Direwolf prints them twice
if (debug_mode == False) and (change_mode == True): # skip every other APRS command since Direwolf prints them twice
if (mode == 'f'):
blink(2)
sleep(1)
elif (mode == 'b'):
blink(3)
sleep(1)
elif (mode == 's'):
blink(4)
sleep(1)
while True:
try:
for line in sys.stdin:
# if (debug_mode):
print(line, end =" ")
logging.warning(line)
# if '^c' == line.rstrip():
# break
elif (mode == 'm'):
blink(5)
sleep(1)
if ((line.find("MODE=a")) > 0):
system("echo '\nAPRS Mode!!\n'")
mode = 'a'
change_mode = True
elif ((line.find(":t1#")) > 0):
system("echo '\nAPRS Mode!!\n'")
mode = 'a'
change_mode = True
elif ((line.find("MODE=f")) > 0):
system("echo '\nFSK Mode!!\n'")
mode = 'f'
change_mode = True
elif ((line.find(":t2#")) > 0):
system("echo '\nFSK Mode!!\n'")
mode = 'f'
change_mode = True
elif ((line.find("MODE=b")) > 0):
system("echo '\nBPSK Mode!!\n'")
mode = 'b'
change_mode = True
elif ((line.find(":t3#")) > 0):
system("echo '\nBPSK Mode!!\n'")
mode = 'b'
change_mode = True
elif ((line.find("MODE=s")) > 0):
system("echo '\nSSTV Mode!!\n'")
mode = 's'
change_mode = True
elif ((line.find(":t4#")) > 0):
system("echo '\nSSTV Mode!!\n'")
mode = 's'
change_mode = True
elif ((line.find("MODE=m")) > 0):
system("echo '\nCW Mode!!\n'")
mode = 'm'
change_mode = True
elif ((line.find(":t5#")) > 0):
system("echo '\nCW Mode!!\n'")
mode = 'm'
change_mode = True
elif ((line.find("MODE=e")) > 0):
system("echo '\nRepeater Mode!!\n'")
mode = 'e'
change_mode = True
elif ((line.find(":t6#")) > 0):
system("echo '\nFUNcube Mode!!\n'")
mode = 'j'
change_mode = True
elif ((line.find("MODE=G")) > 0):
system("echo '\nPacSatSim Mode!!\n'")
mode = 'p'
change_mode = True
elif ((line.find(":t8#")) > 0):
system("echo '\nPacSatSim Mode!!\n'")
mode = 'p'
change_mode = True
elif ((line.find("MODE=n")) > 0):
system("echo '\nTransmit Commands Mode!!\n'")
mode = 'n'
change_mode = True
elif ((line.find(":t11#")) > 0):
system("echo '\nTransmit Commands Mode!!\n'")
mode = 'n'
change_mode = True
elif (mode == 'e'):
blink(6)
sleep(1)
elif (mode == 'j'):
blink(7)
sleep(1)
elif (mode == 'a'):
mode = 'a'
blink(1)
sleep(1)
try:
file = open("/home/pi/CubeSatSim/command_count.txt", "r")
string = file.read()
file.close()
command_count = int(string)
command_count += 1
filec = open("/home/pi/CubeSatSim/command_count.txt", "w")
command_count_string = str(command_count)
print(command_count_string)
string = filec.write(command_count_string)
filec.close()
except:
print("Can't write command_count file!")
print("Command_count: ")
print(command_count)
# GPIO.output(txLed, 0)
# GPIO.output(powerPin, 0)
system("gpio write 27 1")
system("gpio write 0 0")
system("gpio write 2 0")
elif ((line.find("MODE=o")) > 0):
system("echo '\nBeacon Mode toggle!!\n'")
mode = 'o'
change_mode = True
# counter = (counter + 1) % 2
elif ((line.find(":t10#")) > 0):
system("echo '\nBeacon Mode toggle!!\n'")
mode = 'o'
change_mode = True
if (debug_mode == False) and (change_mode == True) and (counter == 1): # skip every other APRS command since Direwolf prints them twice
system("sudo systemctl stop transmit")
# system("sudo systemctl stop cubesatsim")
print("\n/home/pi/CubeSatSim/config -" + mode)
system("/home/pi/CubeSatSim/config -" + mode)
if (mode == 'f'):
blink(2)
sleep(1)
elif (mode == 'b'):
blink(3)
sleep(1)
elif (mode == 's'):
blink(4)
sleep(1)
elif (mode == 'm'):
blink(5)
sleep(1)
elif (mode == 'e'):
blink(6)
sleep(1)
elif (mode == 'j'):
blink(7)
sleep(1)
elif (mode == 'p'):
blink(8)
sleep(1)
elif (mode == 'a'):
blink(1)
sleep(1)
try:
file = open("/home/pi/CubeSatSim/command_count.txt", "r")
string = file.read()
file.close()
command_count = int(string)
command_count += 1
filec = open("/home/pi/CubeSatSim/command_count.txt", "w")
command_count_string = str(command_count)
print(command_count_string)
string = filec.write(command_count_string)
filec.close()
except:
print("Can't write command_count file!")
print("Command_count: ")
print(command_count)
system("gpio write " + str(txLed) + " 0")
system("gpio write " + str(powerPin) + " 0")
system("sudo systemctl stop transmit")
# system("sudo systemctl stop cubesatsim")
print("\n/home/pi/CubeSatSim/config -" + mode)
system("/home/pi/CubeSatSim/config -" + mode)
change_mode = False
except:
print("Error reading line (probably due to UTF-8 issue)")
change_mode = False
print("Waiting 5 seconds to allow unplug and plug of soundcard")
sleep(5)
print("Done")

@ -0,0 +1,10 @@
[Desktop Entry]
Type=Application
Exec=/home/pi/CubeSatSim/groundstation/sdrpp.sh
Name=SDRpp
Comment=SDRpp
Icon=/home/pi/Icons/sdrpp.png
Path=/home/pi
Terminal=true
Categories=HamRadio
Keywords=Ham Radio;SDR

@ -2,7 +2,7 @@
Name=APRS Decode using Direwolf
GenericName=Decodes APRS using rtl_fm and Direwolf
Comment=APRS signals
Exec=/home/pi/CubeSatSim/groundstation/aprs.sh
Exec=/usr/bin/x-terminal-emulator --geometry=120x40 -e "/home/pi/CubeSatSim/groundstation/packet.sh"
Icon=/home/pi/Icons/aprs.png
Terminal=true
Type=Application

@ -3,12 +3,14 @@
sudo modprobe snd-aloop
sudo systemctl stop openwebrx
sudo systemctl stop openwebrx &>/dev/null
sudo systemctl stop rtl_tcp
sudo systemctl stop rtl_tcp &>/dev/null
pkill -o chromium &>/dev/null
sudo killall -9 sdrpp &>/dev/null
sudo killall -9 rtl_fm &>/dev/null
sudo killall -9 direwolf &>/dev/null
@ -78,7 +80,7 @@ echo -e "Auto decoding APRS packets on $frequency Hz"
#sudo rtl_fm -f 144.39M -s 22050 -g 48 - | multimon-ng -a AFSK1200 -A -t raw -
direwolf -r 48000 -t 0 &
direwolf -c /home/pi/CubeSatSim/groundstation/direwolf.conf -r 48000 -t 0 &
sleep 5
@ -87,6 +89,7 @@ echo "$value" > /dev/null
set -- $value
#rtl_fm -M fm -f 144.39M -s 48k | aplay -D hw:${2:0:1},0,0 -r 48000 -t raw -f S16_LE -c 1
rtl_fm -M fm -f $frequency -s 48k | tee >(aplay -D hw:${2:0:1},0,0 -r 48000 -t raw -f S16_LE -c 1) | aplay -D hw:0,0 -r 48000 -t raw -f S16_LE -c 1
#rtl_fm -M fm -f $frequency -s 48k | tee >(aplay -D hw:${2:0:1},0,0 -r 48000 -t raw -f S16_LE -c 1) | aplay -D hw:0,0 -r 48000 -t raw -f S16_LE -c 1
rtl_fm -M fm -f $frequency -s 48k | aplay -D hw:${2:0:1},0,0 -r 48000 -t raw -f S16_LE -c 1
sleep 5

@ -2,4 +2,4 @@
[Desktop Entry]
Type=Application
Name=Chromium with WebSDR
Exec=chromium-browser --check-for-update-interval=1 --simulate-critical-update --noerrdialogs --disable-infobars http://127.0.0.1:8073
Exec=chromium-browser --check-for-update-interval=1 --simulate-critical-update --noerrdialogs --disable-infobars --app=http://localhost:8073

@ -1,137 +1,57 @@
[
{
"name": "ISS APRS",
"frequency": 145825000,
"modulation": "nfm"
},
{
"name": "ISS SSTV/Voice",
"frequency": 145800000,
"modulation": "nfm"
},
{
"name": "ARISS Repeater Downlink",
"frequency": 437800000,
"modulation": "nfm"
},
{
"name": "AO-27",
"frequency": 436795000,
"modulation": "nfm"
},
{
"name": "AO-73",
"frequency": 145815000,
"modulation": "usb"
},
{
"name": "Fox-1B AO-91",
"frequency": 145960000,
"modulation": "nfm"
},
{
"name": "Fox-1D AO-92",
"frequency": 145880000,
"modulation": "nfm"
},
{
"name": "HuskySat-1 HO-107",
"frequency": 435800000,
"modulation": "usb"
},
{
"name": "Fox-1E",
"frequency": 435750000,
"modulation": "usb"
},
{
"name": "MAX VALIER",
"frequency": 145860000,
"modulation": "usb"
},
{
"name": "NOAA WX Radio 1",
"frequency": 162400000,
"modulation": "nfm"
},
{
"name": "NOAA WX Radio 2",
"frequency": 162425000,
"modulation": "nfm"
},
{
"name": "NOAA WX Radio 3",
"frequency": 162450000,
"modulation": "nfm"
},
{
"name": "NOAA WX Radio 4",
"frequency": 162475000,
"modulation": "nfm"
},
{
"name": "NOAA WX Radio 5",
"frequency": 162500000,
"modulation": "nfm"
},
{
"name": "NOAA WX Radio 6",
"frequency": 162525000,
"modulation": "nfm"
},
{
"name": "NOAA WX Radio 7",
"frequency": 162550000,
"modulation": "nfm"
},
{
"name": "CAS-4A",
"frequency": 145855000,
"modulation": "usb"
},
{
"name": "CAS-4B",
"frequency": 145910000,
"modulation": "usb"
},
{
"name": "XW-2A",
"frequency": 145660000,
"modulation": "usb"
},
{
"name": "XW-2B",
"frequency": 145725000,
"modulation": "usb"
},
{
"name": "XW-2C",
"frequency": 145790000,
"modulation": "usb"
},
{
"name": "XW-2F",
"frequency": 145975000,
"modulation": "usb"
},
{
"name": "NOAA-19",
"frequency": 137100000,
"modulation": "nfm"
},
{
"name": "NOAA-18",
"frequency": 137912500,
"modulation": "nfm"
},
{
"name": "NOAA-15",
"frequency": 137620000,
"modulation": "nfm"
},
{
"name": "CubeSatSim",
"frequency": 434900000,
"modulation": "packet"
}
{
"name": "NOAA WX Radio 1",
"frequency": 162400000,
"modulation": "nfm"
},
{
"name": "NOAA WX Radio 2",
"frequency": 162425000,
"modulation": "nfm"
},
{
"name": "NOAA WX Radio 3",
"frequency": 162450000,
"modulation": "nfm"
},
{
"name": "NOAA WX Radio 4",
"frequency": 162475000,
"modulation": "nfm"
},
{
"name": "NOAA WX Radio 5",
"frequency": 162500000,
"modulation": "nfm"
},
{
"name": "NOAA WX Radio 6",
"frequency": 162525000,
"modulation": "nfm"
},
{
"name": "NOAA WX Radio 7",
"frequency": 162550000,
"modulation": "nfm"
},
{
"name": "CubeSatSim",
"frequency": 434900000,
"modulation": "packet"
},
{
"name": "ISS SSTV/Voice",
"frequency": 145800000,
"modulation": "nfm"
},
{
"name": "ISS APRS",
"frequency": 145825000,
"modulation": "packet"
},
{
"name": "ISS Voice Repeater",
"frequency": 437800000,
"modulation": "nfm"
}
]

@ -3,7 +3,7 @@ Type=Application
Exec=/home/pi/CubeSatSim/groundstation/cubicsdr.sh
Name=SDR FM Broadcast
Comment=CubicSDR FM Broadcast
Icon=/home/pi/Downloads/cubicsdr.png
Icon=/home/pi/Icons/cubicsdr.png
Path=/home/pi
Terminal=true
Categories=HamRadio

@ -9,19 +9,21 @@ echo "Note: Select Generic RTL2832 device then click Start to begin"
echo
sudo systemctl stop openwebrx
sudo systemctl stop openwebrx &>/dev/null
sudo killall -9 java &>/dev/null
sudo systemctl stop rtl_tcp
sudo systemctl stop rtl_tcp &>/dev/null
pkill -o chromium &>/dev/null
sudo killall -9 sdrpp &>/dev/null
sudo killall -9 rtl_fm &>/dev/null
sudo killall -9 direwolf &>/dev/null
sudo killall -9 aplay &>/dev/null
#sudo killall -9 aplay &>/dev/null
sudo killall -9 qsstv &>/dev/null
@ -39,11 +41,28 @@ sudo killall -9 sdrpp &>/dev/null
sudo killall -9 zenity &>/dev/null
sudo /etc/init.d/alsa-utils stop
sudo /etc/init.d/alsa-utils start
sudo killall -9 rtl_fm &>/dev/null
zenity --info --width=650 --height=140 --title="Instructions" --text="When CubicSDR opens, select <i>Generic RTL2832U</i> device then click <b>Start</b> to begin.\n\nThen click on a signal in the watefall to listen." &
sleep 5
setsid CubicSDR
sleep 10
#$SHELL
#sudo kill `ps -aux | grep sstv_decode_prompt| grep -v grep | awk '{ print $2 }'` &>/dev/null && killall inotifywait &>/dev/null
sudo killall -9 zenity &>/dev/null
sudo /etc/init.d/alsa-utils stop
sudo /etc/init.d/alsa-utils start
zenity --info --width=650 --height=140 --title="Instructions" --text="When CubicSDR opens, select <i>Generic RTL2832U</i> device then click <b>Start</b> to begin.\n\nThen click on a signal in the watefall to listen." &
sleep 5

@ -1 +1 @@
ADEVICE plughw:CARD=Loopback,DEV=1 plughw:CARD=b1,DEV=0
ADEVICE plughw:CARD=Loopback,DEV=1 default

@ -0,0 +1,9 @@
CHANNEL 0
MODEM 1200
KISSPORT 8100
AGWPORT 8002
DWAIT 20
SLOTTIME 300
PERSIST 63
TXDELAY 1000
FULLDUP OFF

@ -2,7 +2,7 @@
Type=Application
Exec=/home/pi/CubeSatSim/groundstation/fox-download.sh
Name=FoxTelem Download
Comment=FIAB-v3
Comment=FIAB-v4
Icon=/home/pi/Icons/FoxTelemDownload.png
Path=/home/pi
Terminal=true

@ -2,8 +2,8 @@
Type=Application
Exec=/home/pi/CubeSatSim/groundstation/fox-profile.sh
Name=Change FoxTelem Profile
Comment=FIAB-v3
Icon=/home/pi/Downloads/foxtelem.png
Comment=FIAB-v4
Icon=/home/pi/Icons/foxtelem.png
Path=/home/pi
Terminal=true
Categories=HamRadio

@ -5,6 +5,8 @@ echo "Startup script to run FoxTelem for FIAB v4"
echo
source /home/pi/venv/bin/activate
sudo killall -9 FoxTelem &>/dev/null
sudo killall -9 zenity &>/dev/null
@ -12,7 +14,7 @@ sudo killall -9 zenity &>/dev/null
FILE=/home/pi/FoxTelemetryData/.foxprofile
if [ ! -f "$FILE" ]; then
profile=$(zenity --text="Choose your default FoxTelem profile:" --list 2>/dev/null --width=410 --height=120 --title="Set FoxTelem Profile" --column="Profile" --column="Receive and decode telemetry from" Fox-in-a-Box "AMSAT Fox satellites" "CubeSatSim" "AMSAT CubeSat Simulator")
profile=$(zenity --text="Choose your default FoxTelem profile:" --list 2>/dev/null --width=410 --height=120 --title="Set FoxTelem Profile" --column="Profile" --column="Receive and decode telemetry from" Fox-in-a-Box "AMSAT Satellites" "CubeSatSim" "AMSAT CubeSat Simulator")
echo $profile

@ -5,12 +5,14 @@ echo "Script to run FoxTelem for ARISS Radio Pi"
echo
sudo systemctl stop openwebrx
sudo systemctl stop openwebrx &>/dev/null
sudo systemctl stop rtl_tcp
sudo systemctl stop rtl_tcp &>/dev/null
pkill -o chromium &>/dev/null
sudo killall -9 sdrpp &>/dev/null
sudo killall -9 rtl_tcp &>/dev/null
sudo killall -9 rtl_fm &>/dev/null
@ -23,12 +25,15 @@ sudo killall -9 sdrpp &>/dev/null
sudo killall -9 direwolf &>/dev/null
sudo killall -9 aplay &>/dev/null
#sudo killall -9 aplay &>/dev/null
sudo killall -9 qsstv &>/dev/null
sudo killall -9 zenity &>/dev/null
sudo /etc/init.d/alsa-utils stop
sudo /etc/init.d/alsa-utils start
sudo killall -9 rtl_fm &>/dev/null
sleep 5

@ -2,8 +2,8 @@
Type=Application
Exec=/home/pi/CubeSatSim/groundstation/fox-run.sh
Name=FoxTelem
Comment=FIAB-v3
Icon=/home/pi/Downloads/foxtelem.png
Comment=FIAB-v4
Icon=/home/pi/Icons/foxtelem.png
Path=/home/pi
Terminal=true
Categories=HamRadio

@ -3,7 +3,7 @@ Type=Application
Exec=/usr/bin/gpredict
Name=Gpredict
Comment=ISS and Satellite Tracking for ARISS Radio Pi
Icon=/home/pi/Downloads/gpredict.png
Icon=/home/pi/Icons/gpredict.png
Path=/home/pi
Terminal=false
Categories=HamRadio

@ -118,6 +118,16 @@ if (latitude != 0) and (longitude != 0):
system(longSedStr)
print("\nKLAtracker configuration updated with your latitude and longitude")
latSedStr = 'sed -i "s/latitude=.*/latitude=' + str(latitude) + '/g" /home/pi/PacSatGround/PacSatGround.properties'
#print (latSedStr)
system(latSedStr)
longSedStr = 'sed -i "s/longitude=.*/longitude=' + str(longitude) + '/g" /home/pi/PacSatGround/PacSatGround.properties'
#print (longSedStr)
system(longSedStr)
print("\nPacsat configuration updated with your latitude and longitude")
receiver_gpsSedStr = 'sudo sed -i "s/ ' + dquote + 'lat' + dquote + ': .*/ ' + dquote + 'lat' + dquote + ': ' + str(latitude) + ',/g" /var/lib/openwebrx/settings.json'
#print (receiver_gpsSedStr)

@ -12,4 +12,3 @@ python3 /home/pi/CubeSatSim/groundstation/loc-foxtelem.py
#/usr/bin/gpredict
nohup /usr/bin/gpredict </dev/null >/dev/null 2>&1 &

@ -14,6 +14,8 @@ pkill -o chromium &>/dev/null
sudo killall -9 rtl_fm &>/dev/null
sudo killall -9 sdrpp &>/dev/null
sudo killall -9 direwolf &>/dev/null
sudo killall -9 aplay &>/dev/null
@ -166,5 +168,4 @@ rtl_fm -M fm -f $frequency -s 48k | tee >(aplay -D hw:${2:0:1},0,0 -r 48000 -t r
rtl_fm -M fm -f $frequency -s 48k | aplay -D hw:${2:0:1},0,0 -r 48000 -t raw -f S16_LE -c 1
sleep 5

@ -0,0 +1,206 @@
#!/bin/bash
# script to run FoxTelem
echo "Script to configure the PacSat Ground Station for FIAB v4"
echo
#source /home/pi/venv/bin/activate
sudo killall -9 java &>/dev/null
sudo killall -9 zenity &>/dev/null
sudo killall -9 direwolf &>/dev/null
#FILE=/home/pi/.pacsatprofile
#if [ ! -f "$FILE" ]; then
# profile=$(zenity --text="Choice:" --list 2>/dev/null --width=410 --height=120 --title="PacSat Ground Station Choice" --column="Choice" --column="Result" "PacSat" "Receive from CubeSatSim PacSatSim" "Configure" "Configure PacSat Ground Station" "Loopback" "Run a Locally Simulated PacSat")
# echo $profile
echo "Here are the PacSat configuration choices:"
echo
echo " 1. PacSat Ground Station Configuration"
echo
echo " 2. PacSat Ground Station Simulation Configuration"
echo
echo " 3. Set Frequencies"
echo
echo " 4. Reset PacSat Satellite"
echo
echo "Which do you choose? Enter 1 - 4"
echo
read -r ANS
if [ -z "$ANS" ]; then
echo "No choice made. Exiting."
sleep 3
exit
fi
if [ "$ANS" = "1" ] || [ "$ANS" = "2" ] ; then
if [ "$ANS" = "1" ] ; then
echo "Here are your PacSat Ground Station Configuration choices:"
else
echo "Here are your PacSat Ground Station Simulation Configuration choices:"
fi
echo
echo " 1. PacSat Ground Station Callsign"
echo
echo " 2. Set Remote PacSat Satellite Callsign in Ground Station configuration"
echo
echo " 3. Reset PacSat Ground Station Configuration"
echo
read -r CH
if [ -z "$CH" ]; then
echo "No choice made. Exiting."
sleep 3
exit
fi
if [ "$CH" = "1" ] ; then
echo
if [ "$ANS" = "1" ] ; then
oldcallsign=$(grep -oP '(?<=callsign=).*$' /home/pi/PacSatGround/PacSatGround.properties)
else
oldcallsign=$(grep -oP '(?<=callsign=).*$' /home/pi/PacSatGroundLoop/PacSatGround.properties)
fi
echo "Callsign in PacSatGround.properties is "
echo $oldcallsign
echo "Enter new callsign in all capitals: "
echo
read callsign
if [ -z $callsign ] ; then
callsign="$1"
echo "Keeping value of" $oldcallsign
else
echo "Configured callsign is "
echo $callsign
if [ ! "$callsign" = "$oldcallsign" ] ; then
if [ "$ANS" = "1" ] ; then
sudo sed -i "s/callsign=$oldcallsign/callsign=$callsign/g" /home/pi/PacSatGround/PacSatGround.properties
cat /home/pi/PacSatGround/PacSatGround.properties
else
sudo sed -i "s/callsign=$oldcallsign/callsign=$callsign/g" /home/pi/PacSatGroundLoop/PacSatGround.properties
cat /home/pi/PacSatGroundLoop/PacSatGround.properties
fi
fi
fi
elif [ "$CH" = "2" ] ; then
echo "You have chosen to set the remote CubeSatSim PacSat Satellite callsign in ground station configuration"
echo
PROPERTIES=/home/pi/PacSatGround/spacecraft/PacSatSim.properties
PROPERTIES_L=/home/pi/PacSatGroundLoop/spacecraft/PacSatSim.properties
if [ "$ANS" = "1" ] ; then
oldcallsign=$(grep -oP '(?<=bbsCallsign=).*(?=-)' $PROPERTIES )
else
oldcallsign=$(grep -oP '(?<=bbsCallsign=).*(?=-)' $PROPERTIES_L )
fi
echo "Current value of remote PacSat callsign is"
echo $oldcallsign
echo
echo "Enter new callsign in all capitals: "
echo
read callsign
if [ -z $callsign ] ; then
callsign="$1"
echo "Keeping value of" $oldcallsign
else
if [ "$ANS" = "1" ] ; then
sudo sed -i "s/$oldcallsign/$callsign/g" $PROPERTIES
else
sudo sed -i "s/$oldcallsign/$callsign/g" $PROPERTIES_L
fi
echo
echo "Changing callsign to "
echo $callsign
echo
echo "You will see the change next time you run the PacSat Ground Station"
echo "You can close this window"
fi
elif [ "$CH" = "3" ] ; then
echo "You have chosen to reset the PacSat Ground Station Configuration"
echo
# echo "Next time you run the Ground Station you will need to Add the PacSatSim spacecraft"
# echo
if [ "$ANS" = "1" ] ; then
sudo rm -r /home/pi/PacSatGround
# cd
# sudo rm PacSatGround.zip
# wget https://github.com/alanbjohnston/CubeSatSim/raw/refs/heads/master-b-p-s/spacecraft/PacSatGround_0.46o/PacSatGround.zip
# unzip PacSatGround.zip -d PacSatGround
# sudo rm PacSatGround.zip
else
sudo rm -r /home/pi/PacSatGroundLoop
# cd
# sudo rm PacSatGround.zip
# wget https://github.com/alanbjohnston/CubeSatSim/raw/refs/heads/master-b-p-s/spacecraft/PacSatGround_0.46o/PacSatGround.zip
# unzip PacSatGround.zip -d PacSatGroundLoop
# sudo rm PacSatGround.zip
fi
echo "You can close this window now"
else
echo "Please choose an option 1-3"
echo
fi
elif [ "$ANS" = "3" ] ; then
echo "You have chosen to set the Frequency of the PacSat Ground Station"
echo
/home/pi/CubeSatSim/config -F n
elif [ "$ANS" = "4" ] ; then
echo "You have chosen to reset the PacSat Satellite"
echo
/home/pi/CubeSatSim/config -k n
else
echo "Please enter only 1 to 4"
fi
# sleep 10
#$SHELL

@ -0,0 +1,85 @@
#!/bin/bash
# script to run FoxTelem
echo "Startup script to run the PacSat Ground Station for FIAB v4"
echo
# source /home/pi/venv/bin/activate
sudo killall -9 java &>/dev/null
sudo killall -9 zenity &>/dev/null
sudo killall -9 direwolf &>/dev/null
#FILE=/home/pi/.pacsatprofile
#if [ ! -f "$FILE" ]; then
profile=$(zenity --text="Choose what you want to do:" --list 2>/dev/null --width=410 --height=220 --title="PacSat Ground Station" --column="Choice" --column="Result" "PacSat" "Run PacSat Ground Station" "Configure" "Configure the Pacsat Ground Station" "Simulate" "Run a Locally Simulated PacSat")
echo $profile
if [ -z "$profile" ]; then
echo "No choice made. Exiting."
sleep 3
exit
#echo "You need to choose your default FoxTelem profile."
#echo
#echo "The choices are:"
#echo
#echo "1. Fox-in-a-Box. Use this profile if you want to receive and decode telemetry from the AMSAT Fox satellites. If you enter a callsign and a grid square, you can upload to the AMSAT telemetry server."
#echo
#echo "2. CubeSatSim Ground Station. Use this profile if you want to receive and decode telemetry from an AMSAT CubeSatSim or CubeSatSim Lite."
#echo
#echo "Which profile do you choose? Enter 1 or 2"
#read -r ANS
fi
if [ "$ANS" = "1" ] || [ "$profile" = "PacSat" ] ; then
echo "You have chosen to run the PacSat Ground Station"
# echo "p" > /home/pi/.pacsatprofile
echo
/home/pi/CubeSatSim/groundstation/pacsat.sh
elif [ "$ANS" = "2" ] || [ "$profile" = "Configure" ] ; then
echo "You have chosen to configure the PacSat Ground Station"
echo
/home/pi/CubeSatSim/groundstation/pacsat-config.sh
elif [ "$ANS" = "3" ] || [ "$profile" = "Simulate" ] ; then
sudo systemctl stop transmit
echo "You have chosen the PacSat Ground Station with Local Simulated Satellite"
sleep 1
/usr/bin/x-terminal-emulator --geometry=120x40 -e "bash /home/pi/CubeSatSim/pacsatsim.sh l"
sleep 1
/home/pi/CubeSatSim/groundstation/pacsat.sh l
else
echo "Please enter only 1 or 2 or 3"
fi
sudo killall -9 direwolf &>/dev/null
sleep 10
#$SHELL

@ -0,0 +1,10 @@
[Desktop Entry]
Name=Pacsat
GenericName=Pacsat Loopback
Comment=Pacsat
Exec=/usr/bin/x-terminal-emulator --geometry=120x40 -e "/home/pi/CubeSatSim/groundstation/pacsat-run.sh"
Icon=/home/pi/Icons/pacsat.png
Terminal=true
Type=Application
Categories=HamRadio;
Keywords=APRS;

@ -0,0 +1,302 @@
#!/bin/bash
# script to auto decode packets using Direwolf and FM TXC and run Pacsat Ground Station
sudo pkill -f "/home/pi/CubeSatSim/groundstation/direwolf-pacsat-tmp.conf"
loopback=0
vox=0
safe=0
card=0
pwm=0
if [ "$1" = "l" ] ; then
loopback=1
elif [ "$1" = "v" ] ; then
vox=1
elif [ "$1" = "c" ] ; then
card=1
else
pwm=1
fi
if [[ $(arecord -l | grep "USB Audio Device") ]] ; then
echo "USB Sound Card detected"
soundcard=1
else
echo "No USB Sound Card detected"
soundcard=0
fi
gpio -g mode 7 up
if [[ $(gpio -g read 7 | grep 0) ]] ; then
echo "TXC is present"
txc=1
else
echo "TXC not present"
txc=0
fi
timeout 1 rtl_test &> out.txt
if [[ $(grep "No supported" out.txt) ]] ; then
echo "No RTL-SDR detected"
rtl=0
else
echo "RTL-SDR detected."
rtl=1
fi
FILE=/home/pi/CubeSatSim/battery_saver
if [ -f "$FILE" ]; then
safe=1
fi
value=`cat /home/pi/CubeSatSim/.mode`
echo "$value" > /dev/null
set -- $value
MODE=$1
if [ ! "$MODE" = "P" ] && [ ! "$loopback" = "1" ] ; then
echo
echo "Mode is not PacSat Ground Station"
echo
echo "Would you like to change to PacSat Ground Station mode and reboot? (y/n)?"
read -r ANS
if [ "$ANS" = "y" ]; then
/home/pi/CubeSatSim/config -I
exit
else
echo
echo "You can run the PacSat Ground Station after you change mode and reboot."
sleep 10
exit
fi
elif [ "$loopback" = "1" ] ; then
# if [ ! "$MODE" = "p" ] ; then
echo
echo "Switching to PacSat mode for the Simulated PacSat Satellite"
echo
/home/pi/CubeSatSim/config -G n
# fi
if [ ! -d "/home/pi/PacSatGroundLoop" ] ; then
# if [ ! "$loopback" = "1" ] ; then # don't do this for now.
cd
sudo rm PacSatGroundLoop.zip &>/dev/null
wget https://github.com/alanbjohnston/CubeSatSim/raw/refs/heads/master-b-p/spacecraft/PacSatGround_0.46o/PacSatGroundLoop.zip
unzip PacSatGroundLoop.zip -d PacSatGroundLoop
sudo rm PacSatGroundLoop.zip
echo
echo "The first time you run the Ground Station, you will need to select Yes to override files, then put in your callsign"
sleep 10
fi
else
echo
echo "Mode is PacSat Ground Station"
echo
if [ ! -d "/home/pi/PacSatGround" ] ; then
cd
sudo rm PacSatGround.zip &>/dev/null
wget https://github.com/alanbjohnston/CubeSatSim/raw/refs/heads/master-b-p/spacecraft/PacSatGround_0.46o/PacSatGround.zip
unzip PacSatGround.zip -d PacSatGround
sudo rm PacSatGround.zip
echo
echo "The first time you run the Ground Station, you will need to select Yes to override files, then put in your callsign"
sleep 10
fi
fi
value=`cat /home/pi/CubeSatSim/sim.cfg`
echo "$value" > /dev/null
set -- $value
callsign="$1"
txfrequency="$7e3"
rxfrequency="$8e3"
echo -n "Callsign is "
echo $callsign
echo -n "Transmit Frequency is "
echo $txfrequency
echo -n "Receive Frequency is "
echo $rxfrequency
echo
sleep 2
sudo sed -i "s/TNC_TX_DELAY=.*$/TNC_TX_DELAY=750/g" /home/pi/PacSatGround/PacSatGround.properties
sudo sed -i "s/TNC_TX_DELAY=.*$/TNC_TX_DELAY=750/g" /home/pi/PacSatGroundLoop/PacSatGround.properties
sudo modprobe snd-aloop
#sudo systemctl stop cubesatsim >/dev/null 2>&1
#sudo systemctl stop transmit >/dev/null 2>&1
sudo systemctl stop command >/dev/null 2>&1
#/home/pi/CubeSatSim/config -I
sudo systemctl stop command >/dev/null 2>&1
sudo systemctl stop openwebrx >/dev/null 2>&1
sudo systemctl stop rtl_tcp >/dev/null 2>&1
pkill -o chromium &>/dev/null
sudo killall -9 rtl_fm &>/dev/null
#sudo killall -9 direwolf &>/dev/null
sudo killall -9 sdrpp &>/dev/null
#sudo killall -9 aplay &>/dev/null
sudo killall -9 qsstv &>/dev/null
sudo killall -9 rtl_tcp &>/dev/null
sudo killall -9 java &>/dev/null
sudo killall -9 CubicSDR &>/dev/null
sudo killall -9 zenity &>/dev/null
#sudo systemctl restart pacsatsim
#sudo /etc/init.d/alsa-utils stop
#sudo /etc/init.d/alsa-utils start
sudo usermod -a -G gpio pi
if [ "$loopback" = "1" ] ; then
echo "Using Audio Loopback"
ADEVICE="ADEVICE plughw:CARD=Loopback,DEV=1"
PTT="PTT GPIOD gpiochip0 17"
elif [ "$safe" = "1" ] ; then
ADEVICE="ADEVICE shared_mic plughw:CARD=Loopback,DEV=0"
PTT="PTT GPIOD gpiochip0 17"
if [ ! "$txc" = "1" ] ; then
echo "Safe mode - battery saver won't work since no TXC present"
sleep 5
elif [ ! "$soundcard" = "1" ] ; then
echo "Safe mode - battery saver won't work since no sound card present"
sleep 5
else
echo "Safe mode - battery saver"
fi
elif [ "$vox" = "1" ] ; then
ADEVICE="ADEVICE plughw:CARD=Device,DEV=0"
PTT="PTT GPIOD gpiochip0 17"
if [ "$soundcard" = "1" ] ; then
echo "Using Soundcard Audio TX and RX (VOX, no PTT)"
else
echo "Soundcard Audio TX and RX (VOX, no PTT) will not work since no sound card present"
sleep 5
fi
elif [ "$pwm" = "1" ] ; then
ADEVICE="ADEVICE shared_mic plughw:CARD=Headphones,DEV=0"
PTT="PTT GPIOD gpiochip0 -20"
if [ ! "$txc" = "1" ] ; then
echo "FM TXC using Soundcard input (JP13), PWM output won't work since no TXC present"
sleep 5
elif [ ! "$soundcard" = "1" ] ; then
echo "FM TXC using Soundcard input (JP13), PWM output won't work since no sound card present"
sleep 5
else
echo "FM TXC using Soundcard input (JP13), PWM output"
fi
else
echo "FM TXC using Soundcard input (JP13) and output (JP14)"
ADEVICE="ADEVICE shared_mic plughw:CARD=Device,DEV=0"
PTT="PTT GPIOD gpiochip0 -20"
if [ ! "$txc" = "1" ] ; then
echo "FM TXC using Soundcard input (JP13) and output (JP14) won't work since no TXC present"
sleep 5
elif [ ! "$soundcard" = "1" ] ; then
echo "FM TXC using Soundcard input (JP13), output (JP14) won't work since no sound card present"
sleep 5
else
echo "FM TXC using Soundcard input (JP13), output JP14"
fi
fi
DIREWOLF_CONF="/home/pi/CubeSatSim/groundstation/direwolf-pacsat-tmp.conf"
echo "$ADEVICE" > $DIREWOLF_CONF
echo "MYCALL $callsign-1" >> $DIREWOLF_CONF
echo "$PTT" >> $DIREWOLF_CONF
cat /home/pi/CubeSatSim/groundstation/direwolf/direwolf-pacsat.conf >> $DIREWOLF_CONF
echo
echo "$DIREWOLF_CONF"
echo
cat $DIREWOLF_CONF
echo
direwolf -r 48000 -c $DIREWOLF_CONF -t 0 &
cd /home/pi/Desktop/PacsatGround/
if [ "$loopback" = "1" ] ; then
setsid java -Xmx512M -jar PacSatGround.jar "/home/pi/PacSatGroundLoop" # removed &
else
setsid java -Xmx512M -jar PacSatGround.jar "/home/pi/PacSatGround" # removed &
fi
sleep 10
#echo "Stopping Pacsatsim"
#$SHELL

@ -3,7 +3,7 @@ Type=Application
Exec=/home/pi/CubeSatSim/groundstation/rtl-tcp.sh
Name=RTL-TCP
Comment=RTL-TCP for SDR#
Icon=/home/pi/Downloads/SDRSharp.png
Icon=/home/pi/Icons/SDRSharp.png
Path=/home/pi
Terminal=true
Categories=HamRadio

@ -23,13 +23,15 @@ echo "Note: you need to be on the Wifi network: $ssid"
echo
sudo systemctl stop openwebrx
sudo systemctl stop openwebrx &>/dev/null
sleep 2
pkill -o chromium &>/dev/null
sudo systemctl stop rtl_tcp
sudo systemctl stop rtl_tcp &>/dev/null
sudo killall -9 sdrpp &>/dev/null
sudo killall -9 java &>/dev/null
@ -45,10 +47,13 @@ sudo killall -9 qsstv &>/dev/null
sudo killall -9 direwolf &>/dev/null
sudo killall -9 aplay &>/dev/null
#sudo killall -9 aplay &>/dev/null
sudo killall -9 zenity &>/dev/null
sudo /etc/init.d/alsa-utils stop
sudo /etc/init.d/alsa-utils start
sudo killall -9 rtl_fm &>/dev/null
sudo /bin/sh -c 'rtl_tcp -a $(hostname -I|cut -f1 -d " ")'

@ -3,7 +3,7 @@ Description=RTL-TCP
[Service]
TimeoutStopSec = 5
ExecStart=/bin/sh -c '/usr/local/bin/rtl_tcp -a $(hostname -I)'
ExecStart=/bin/sh -c 'rtl_tcp -a $(hostname -I|cut -f1 -d " ")'
WorkingDirectory=/home/pi
StandardOutput=inherit
StandardError=inherit

@ -0,0 +1,9 @@
[Unit]
Description=RTL TCP Socket
PartOf=rtltcp.service
[Socket]
ListenStream=[::]:1234
[Install]
WantedBy=sockets.target

@ -24,6 +24,8 @@ echo "Note: you need to be on the Wifi network: $ssid"
echo
sudo killall -9 sdrpp &>/dev/null
sudo killall -9 java &>/dev/null
sudo killall -9 rtl_fm &>/dev/null
@ -38,13 +40,18 @@ sudo killall -9 sdrpp &>/dev/null
sudo killall -9 qsstv &>/dev/null
sudo killall -9 aplay &>/dev/null
#sudo killall -9 aplay &>/dev/null
sudo killall -9 direwolf &>/dev/null
sudo killall -9 zenity &>/dev/null
sudo systemctl stop rtl_tcp
sudo systemctl stop rtl_tcp &>/dev/null
sudo /etc/init.d/alsa-utils stop
sudo /etc/init.d/alsa-utils start
sudo killall -9 rtl_fm &>/dev/null
sudo killall -9 rtl_fm &>/dev/null
@ -52,7 +59,7 @@ sudo systemctl restart openwebrx
sleep 10
setsid chromium-browser --check-for-update-interval=1 --simulate-critical-update --noerrdialogs --disable-infobars http://127.0.0.1:8073 &>/dev/null &
setsid chromium-browser --check-for-update-interval=1 --simulate-critical-update --noerrdialogs --disable-infobars --app=http://localhost:8073 &>/dev/null &
sleep 10

@ -0,0 +1,47 @@
#!/bin/bash
# script to run sdrpp
echo "Script to run SDRpp for ARISS Radio Pi"
echo
sudo systemctl stop openwebrx
sudo killall -9 java &>/dev/null
sudo killall -9 sdrpp &>/dev/null
sudo systemctl stop rtl_tcp
pkill -o chromium &>/dev/null
sudo killall -9 rtl_fm &>/dev/null
sudo killall -9 direwolf &>/dev/null
#sudo killall -9 aplay &>/dev/null
sudo killall -9 qsstv &>/dev/null
sudo killall -9 rtl_tcp &>/dev/null
sudo killall -9 CubicSDR &>/dev/null
#sudo kill `ps -aux | grep cubicsdr-packet | grep -v grep | awk '{ print $2 }'` &>/dev/null && killall inotifywait &>/dev/null
#sudo kill `ps -aux | grep packet | grep -v grep | awk '{ print $2 }'` &>/dev/null && killall inotifywait &>/dev/null
#sudo kill `ps -aux | grep sstv_decode_prompt| grep -v grep | awk '{ print $2 }'` &>/dev/null && killall inotifywait &>/dev/null
sudo killall -9 zenity &>/dev/null
sudo /etc/init.d/alsa-utils stop
sudo /etc/init.d/alsa-utils start
sleep 5
setsid sdrpp &
sleep 10
#$SHELL

@ -3,7 +3,7 @@ Type=Application
Exec=/home/pi/CubeSatSim/groundstation/loc.sh
Name=Set My Location
Comment=Set Location for Gpredict
Icon=/home/pi/Downloads/gpredict.png
Icon=/home/pi/Icons/gpredict.png
Path=/home/pi
Terminal=true
Categories=HamRadio

@ -0,0 +1,808 @@
{
"version": 8,
"sdrs": {
"rtlsdr": {
"name": "RTL-SDR",
"type": "rtl_sdr",
"profiles": {
"70cm": {
"name": "70cm Ham Band 435 MHz (CubeSatSim)",
"center_freq": 435000000,
"rf_gain": 10.0,
"samp_rate": 2400000,
"start_freq": 434900000,
"start_mod": "nfm",
"tuning_step": 1000,
"direct_sampling": 0
},
"2m": {
"name": "WX Band 161 MHz",
"center_freq": 162400000,
"rf_gain": 29,
"samp_rate": 2048000,
"start_freq": 157000000,
"start_mod": "nfm"
},
"e59a4765-4139-4ab8-89c5-d8ac3343ba70": {
"name": "2m Ham Band 146 MHz (ISS)",
"center_freq": 145000000,
"samp_rate": 2400000,
"start_freq": 145000000,
"start_mod": "nfm",
"rf_gain": 42.0,
"direct_sampling": 0
},
"faf80b0b-1a96-4a9b-96fa-ce40b109c7e0": {
"name": "70cm Ham Band 438 MHz (ISS)",
"rf_gain": 29.0,
"center_freq": 438000000,
"samp_rate": 2400000,
"start_freq": 437800000,
"start_mod": "nfm"
},
"a4fd4a5d-d2d0-4949-87e2-bda83cd83a37": {
"name": "FM Band 95 MHz",
"rf_gain": 29.0,
"center_freq": 95000000,
"samp_rate": 2400000,
"start_freq": 94000000,
"start_mod": "wfm"
},
"ce2bca29-78cb-45d8-ab46-8dea3135981c": {
"name": "10m Ham Band 28 MHz",
"rf_gain": 29.0,
"center_freq": 28000000,
"samp_rate": 2400000,
"start_freq": 28000000,
"start_mod": "usb",
"direct_sampling": 0
},
"d6cdbf2d-74e4-4cac-aaa8-e793103a8e89": {
"name": "6m Ham Band 51 MHz",
"rf_gain": 29.0,
"center_freq": 51000000,
"samp_rate": 2400000,
"start_freq": 51000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"e2aba387-1d3b-4ca8-b280-e119282b8812": {
"name": "90 MHz FM Band",
"rf_gain": 29.0,
"center_freq": 90000000,
"samp_rate": 2400000,
"start_freq": 90000000,
"start_mod": "wfm"
},
"f700b99d-3c51-4524-b151-a0809b868ecc": {
"name": "92 MHz FM Band",
"rf_gain": 29.0,
"center_freq": 92000000,
"samp_rate": 2400000,
"start_freq": 92000000,
"start_mod": "wfm"
},
"dc6af94f-d607-4fee-a522-7f375f66a62c": {
"name": "94 MHz FM Band",
"rf_gain": 29.0,
"center_freq": 94000000,
"samp_rate": 2400000,
"start_freq": 94000000,
"start_mod": "wfm"
},
"6887e85a-a4dc-4245-810f-99801fc5e824": {
"name": "96 MHz FM Band",
"rf_gain": 29.0,
"center_freq": 96000000,
"samp_rate": 2400000,
"start_freq": 96000000,
"start_mod": "wfm"
},
"a2182ed6-70a8-4377-b233-ac6f8ccc91d7": {
"name": "98 MHz FM Band",
"rf_gain": 29.0,
"center_freq": 96000000,
"samp_rate": 2400000,
"start_freq": 96000000,
"start_mod": "wfm"
},
"57e38353-fb86-4935-899b-e365228b8ae5": {
"name": "100 MHz FM Band",
"center_freq": 100000000,
"samp_rate": 2400000,
"start_freq": 100000000,
"start_mod": "wfm"
},
"5e9ec6dd-905d-4781-bd13-9cb702f58e84": {
"name": "102 MHz FM Band",
"rf_gain": 29.0,
"center_freq": 102000000,
"samp_rate": 2400000,
"start_freq": 102000000,
"start_mod": "wfm"
},
"ef2c703c-2e22-4e87-82b5-581420d704bd": {
"name": "104 MHz FM Band",
"rf_gain": 29.0,
"center_freq": 104000000,
"samp_rate": 2400000,
"start_freq": 104000000,
"start_mod": "wfm"
},
"34cc3ddf-8018-4288-acb9-29e6940bc37e": {
"name": "106 MHz FM Band",
"rf_gain": 29.0,
"center_freq": 106000000,
"samp_rate": 2400000,
"start_freq": 106000000,
"start_mod": "wfm"
},
"b4693683-ccf5-474d-a2d9-9a47b0a18ee2": {
"name": "108 MHz FM Band",
"rf_gain": 29.0,
"center_freq": 108000000,
"samp_rate": 2400000,
"start_freq": 108000000,
"start_mod": "wfm"
},
"34224d77-7b61-467c-b78f-18c7f3af1a0c": {
"name": "110 MHz FM Band",
"rf_gain": 29.0,
"center_freq": 110000000,
"samp_rate": 2400000,
"start_freq": 110000000,
"start_mod": "wfm"
},
"8dd82d97-73db-4fa7-ac41-263c3026ea1d": {
"name": "112 MHz",
"rf_gain": 29.0,
"center_freq": 112000000,
"samp_rate": 2400000,
"start_freq": 112000000,
"start_mod": "nfm"
},
"79304b30-f10d-469e-9617-50a19bfdb435": {
"name": "114 MHz",
"rf_gain": 29.0,
"center_freq": 114000000,
"samp_rate": 2400000,
"start_freq": 114000000,
"start_mod": "nfm"
},
"c00bf096-27b8-4262-832c-df1a308d7eb9": {
"name": "116 MHz",
"rf_gain": 29.0,
"center_freq": 116000000,
"samp_rate": 2400000,
"start_freq": 116000000,
"start_mod": "nfm"
},
"669d25a6-6c15-4131-a330-3c33dd2147f0": {
"name": "118 Mhz Air Band",
"rf_gain": 29.0,
"center_freq": 118000000,
"samp_rate": 2400000,
"start_freq": 118000000,
"start_mod": "am"
},
"948248fa-43d9-4e7d-bf86-afaadd391779": {
"name": "120 MHz Air Band",
"rf_gain": 29.0,
"center_freq": 120000000,
"samp_rate": 2400000,
"start_freq": 120000000,
"start_mod": "am"
},
"b634273b-8fc8-4e87-b5c4-e6226d4be0ac": {
"name": "122 MHz Air Band",
"rf_gain": 42.0,
"center_freq": 122000000,
"samp_rate": 2400000,
"start_freq": 121000000,
"start_mod": "nfm"
},
"c55289a2-8286-4a3d-a505-37ba2867571a": {
"name": "124 Mhz Air Band",
"rf_gain": 42.0,
"center_freq": 124000000,
"samp_rate": 2400000,
"start_freq": 124000000,
"start_mod": "am"
},
"4fe488b7-f369-43ba-bb49-91e1a185be7a": {
"name": "126 MHz Air Band",
"rf_gain": 29.0,
"center_freq": 126000000,
"samp_rate": 2400000,
"start_freq": 126000000,
"start_mod": "am"
},
"e79639a2-1384-4e92-8e46-f6e5670ec9fd": {
"name": "128 MHz Air Band",
"rf_gain": 42.0,
"center_freq": 128000000,
"samp_rate": 2400000,
"start_freq": 128000000,
"start_mod": "am"
},
"319f3fb2-b98a-4620-85a7-a99d5a722bd5": {
"name": "130 MHz Air Band",
"rf_gain": 42.0,
"center_freq": 130000000,
"samp_rate": 2400000,
"start_freq": 130000000,
"start_mod": "am"
},
"63c5c2ce-07de-496c-81f6-b188a7adbf39": {
"name": "132 MHz Air Band",
"rf_gain": 42.0,
"center_freq": 132000000,
"samp_rate": 2400000,
"start_freq": 132000000,
"start_mod": "am"
},
"386bdc7b-eb10-4e05-972a-69d730a23cd8": {
"name": "134 MHz Air Band",
"rf_gain": 29.0,
"center_freq": 134000000,
"samp_rate": 2400000,
"start_freq": 134000000,
"start_mod": "am"
},
"ae8ea8b1-23de-45ef-b8c4-3b83a188e65d": {
"name": "136 MHz Air Band",
"rf_gain": 42.0,
"center_freq": 136000000,
"samp_rate": 2400000,
"start_freq": 136000000,
"start_mod": "am"
},
"c0b1a28c-5e07-400a-a5f3-07c62db27587": {
"name": "138 MHz NOAA Weather Satellite Band",
"rf_gain": 42.0,
"center_freq": 138000000,
"samp_rate": 2400000,
"start_freq": 138000000,
"start_mod": "nfm"
},
"20f7ce56-fd85-4b3e-8fac-94cbe9ba0e1d": {
"name": "140 MHz ",
"rf_gain": 42.0,
"center_freq": 140000000,
"samp_rate": 2400000,
"start_freq": 140000000,
"start_mod": "nfm"
},
"882079f8-5697-428a-ae9d-bcc091269c7f": {
"name": "142 MHz ",
"rf_gain": 42.0,
"center_freq": 142000000,
"samp_rate": 2400000,
"start_freq": 142000000,
"start_mod": "nfm"
},
"da1b3f12-2eba-40e9-8c62-33493adf74b3": {
"name": "144 MHz 2m Ham Band",
"rf_gain": 42.0,
"center_freq": 144000000,
"samp_rate": 2400000,
"start_freq": 144000000,
"start_mod": "nfm"
},
"8d9cf1e1-44c5-41c4-bcea-7b1c69446e62": {
"name": "146 MHz 2m Ham Band",
"rf_gain": 42.0,
"center_freq": 146000000,
"samp_rate": 2400000,
"start_freq": 146000000,
"start_mod": "nfm"
},
"eec8aa0d-3485-43d2-baa4-82f7d9e14df6": {
"name": "148 MHz 2m Ham Band",
"rf_gain": 42.0,
"center_freq": 148000000,
"samp_rate": 2400000,
"start_freq": 148000000,
"start_mod": "nfm"
},
"bf66a908-1988-4aec-b998-06e2bc7d0a84": {
"name": "150 MHz",
"rf_gain": 42.0,
"center_freq": 150000000,
"samp_rate": 2400000,
"start_freq": 150000000,
"start_mod": "nfm"
},
"0389f270-b919-4aae-a313-f73697059f70": {
"name": "152 MHz",
"rf_gain": 42.0,
"center_freq": 152000000,
"samp_rate": 2400000,
"start_freq": 152000000,
"start_mod": "nfm"
},
"6ef9d955-76aa-46c0-8463-2c23def5e37b": {
"name": "154 MHz",
"rf_gain": 42.0,
"center_freq": 154000000,
"samp_rate": 2400000,
"start_freq": 154000000,
"start_mod": "nfm"
},
"5d0a64c7-3bce-408e-94d9-c8315bef7540": {
"name": "156 MHz",
"rf_gain": 42.0,
"center_freq": 156000000,
"samp_rate": 2400000,
"start_freq": 156000000,
"start_mod": "nfm"
},
"5b869cae-ffa7-4554-96af-7acd497bbaf3": {
"name": "158 MHz",
"rf_gain": 42.0,
"center_freq": 158000000,
"samp_rate": 2400000,
"start_freq": 158000000,
"start_mod": "nfm"
},
"0de7c5d4-14fc-4655-9a81-2bcebb2f4147": {
"name": "160 MHz",
"rf_gain": 42.0,
"center_freq": 160000000,
"samp_rate": 2400000,
"start_freq": 160000000,
"start_mod": "nfm"
},
"8ca54821-8b80-4938-a35c-9fe25e2320d1": {
"name": "162 MHz",
"rf_gain": 42.0,
"center_freq": 162000000,
"samp_rate": 2400000,
"start_freq": 162000000,
"start_mod": "nfm"
},
"f74d262d-9e98-4030-86b2-45676121ff1e": {
"name": "164 MHz",
"rf_gain": 42.0,
"center_freq": 164000000,
"samp_rate": 2400000,
"start_freq": 164000000,
"start_mod": "nfm"
},
"bfc9c686-6c06-4de2-b1d5-c8f012131042": {
"name": "168 MHz",
"rf_gain": 42.0,
"center_freq": 168000000,
"samp_rate": 2400000,
"start_freq": 167000000,
"start_mod": "nfm"
},
"5468e597-d529-42fe-9fcf-0ff4fa9e2d06": {
"name": "170 MHz",
"rf_gain": 42.0,
"center_freq": 170000000,
"samp_rate": 2400000,
"start_freq": 170000000,
"start_mod": "nfm"
},
"e124cc6e-7177-4d5f-ae5b-2ec6a6fa2956": {
"name": "172 MHz",
"rf_gain": 42.0,
"center_freq": 172000000,
"samp_rate": 2400000,
"start_freq": 172000000,
"start_mod": "nfm"
},
"1ce0f3ed-4763-4f00-916a-4f72d29ba410": {
"name": "174 MHz ",
"rf_gain": 42.0,
"center_freq": 174000000,
"samp_rate": 2400000,
"start_freq": 174000000,
"start_mod": "nfm"
},
"639b1496-a2b9-4a42-ad28-3cda89fbe2fb": {
"name": "420 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 420000000,
"samp_rate": 2400000,
"start_freq": 420000000,
"start_mod": "nfm"
},
"bbc9b57e-ea86-43ef-be65-cb2337615ae5": {
"name": "422 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 422000000,
"samp_rate": 2400000,
"start_freq": 422000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"3aed286d-7d13-4338-8621-d1c0dfdf3ac6": {
"name": "424 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 424000000,
"samp_rate": 2400000,
"start_freq": 424000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"9ae664b4-48f3-410a-8995-edc60127d746": {
"name": "426 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 426000000,
"samp_rate": 2400000,
"start_freq": 426000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"24d2467b-6740-42b5-8d3f-8f389fc0860b": {
"name": "428 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 428000000,
"samp_rate": 2400000,
"start_freq": 428000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"debbc3ab-081d-41e7-80fe-7d564838154e": {
"name": "430 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 430000000,
"samp_rate": 2400000,
"start_freq": 430000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"649233e0-fc85-415d-b88e-94750f49ca4b": {
"name": "432 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 432000000,
"samp_rate": 2400000,
"start_freq": 432000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"bed3b482-fd3b-45ee-b924-200aa4223ace": {
"name": "434 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 434000000,
"samp_rate": 2400000,
"start_freq": 434000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"58dfac9e-6030-4bb3-ba28-465285baa25e": {
"name": "436 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 436000000,
"samp_rate": 2400000,
"start_freq": 436000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"4c293b84-cd43-495f-95a5-1fcabfe4e4c7": {
"name": "438 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 438000000,
"samp_rate": 2400000,
"start_freq": 438000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"0e763161-a0e8-411a-abe6-c1af13045f27": {
"name": "440 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 440000000,
"samp_rate": 2400000,
"start_freq": 440000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"6dda77d3-e859-41b7-9b0b-22c2dee47472": {
"name": "442 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 442000000,
"samp_rate": 2400000,
"start_freq": 442000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"285813ef-aa6d-433f-a316-074f47e02073": {
"name": "444 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 444000000,
"samp_rate": 2400000,
"start_freq": 444000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"e0842b63-6857-4554-874b-fad99e4db03a": {
"name": "446 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 446000000,
"samp_rate": 2400000,
"start_freq": 446000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"c7b21c80-cfef-42e8-a6fe-c5eea4556c7e": {
"name": "448 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 448000000,
"samp_rate": 2400000,
"start_freq": 448000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"d98b4d4a-8247-4a99-9fc7-89780e5e1fef": {
"name": "450 MHz 70cm Ham Band",
"rf_gain": 42.0,
"center_freq": 450000000,
"samp_rate": 2400000,
"start_freq": 450000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"a09a546f-c56f-41b5-ae34-c5511afbcef5": {
"name": "460 MHz",
"rf_gain": 42.0,
"center_freq": 460000000,
"samp_rate": 2400000,
"start_freq": 460000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"232b2ae6-88dd-4e58-b489-37f310e5e204": {
"name": "462 MHz FRS/GMRS",
"rf_gain": 42.0,
"center_freq": 462000000,
"samp_rate": 2400000,
"start_freq": 462000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"41db9b38-87d7-40a0-9f90-1f0c77c054d9": {
"name": "464 MHz FRS/GMRS",
"rf_gain": 42.0,
"center_freq": 464000000,
"samp_rate": 2400000,
"start_freq": 464000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"e9bb7781-eb9b-4314-b399-2d96c52716f0": {
"name": "466 MHz FRS/GMRS",
"rf_gain": 42.0,
"center_freq": 466000000,
"samp_rate": 2400000,
"start_freq": 466000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"5d9e07e8-eb42-4832-82c9-016f05d89027": {
"name": "468 MHz FRS/GMRS",
"rf_gain": 42.0,
"center_freq": 468000000,
"samp_rate": 2400000,
"start_freq": 468000000,
"start_mod": "nfm",
"direct_sampling": 0
},
"20m": {
"name": "20m",
"center_freq": 14150000,
"samp_rate": 384000,
"start_freq": 14070000,
"start_mod": "usb",
"tuning_step": "500",
"rf_gain": 42.0,
"direct_sampling": 1
},
"30m": {
"name": "30m",
"center_freq": 10125000,
"samp_rate": 192000,
"start_freq": 10142000,
"start_mod": "usb",
"tuning_step": "500",
"rf_gain": 42.0,
"direct_sampling": 1
},
"40m": {
"name": "40m",
"center_freq": 7100000,
"samp_rate": 256000,
"start_freq": 7070000,
"start_mod": "lsb",
"tuning_step": "500",
"rf_gain": 42.0,
"direct_sampling": 1
},
"80m": {
"name": "80m",
"center_freq": 3650000,
"samp_rate": 384000,
"start_freq": 3570000,
"start_mod": "lsb",
"tuning_step": "500",
"rf_gain": 42.0,
"direct_sampling": 1
},
"49m": {
"name": "49m Broadcast",
"center_freq": 6050000,
"samp_rate": 384000,
"start_freq": 6070000,
"start_mod": "am",
"tuning_step": "1000",
"rf_gain": 42.0,
"direct_sampling": 1
},
"c1982ce1-7504-455e-908c-dc097fa031a8": {
"name": "1090 MHz ADS-B Band",
"rf_gain": 42.0,
"center_freq": 1090000000,
"samp_rate": 2400000,
"start_freq": 1090000000,
"start_mod": "adsb",
"tuning_step": 1,
"direct_sampling": 0
},
"cb7f2f8e-e317-4a5e-9504-826dd3781791": {
"name": "978 MHz ADS-B Band",
"rf_gain": 42.0,
"center_freq": 978000000,
"samp_rate": 2400000,
"start_freq": 978000000,
"start_mod": "adsb",
"tuning_step": 1
}
}
},
"airspy": {
"name": "Airspy HF+",
"type": "airspyhf",
"rf_gain": "auto",
"profiles": {
"20m": {
"name": "20m",
"center_freq": 14150000,
"samp_rate": 384000,
"start_freq": 14070000,
"start_mod": "usb",
"tuning_step": "500"
},
"30m": {
"name": "30m",
"center_freq": 10125000,
"samp_rate": 192000,
"start_freq": 10142000,
"start_mod": "usb",
"tuning_step": "500"
},
"40m": {
"name": "40m",
"center_freq": 7100000,
"samp_rate": 256000,
"start_freq": 7070000,
"start_mod": "lsb",
"tuning_step": "500"
},
"80m": {
"name": "80m",
"center_freq": 3650000,
"samp_rate": 384000,
"start_freq": 3570000,
"start_mod": "lsb",
"tuning_step": "500"
},
"49m": {
"name": "49m Broadcast",
"center_freq": 6050000,
"samp_rate": 384000,
"start_freq": 6070000,
"start_mod": "am",
"tuning_step": "1000"
}
}
},
"sdrplay": {
"name": "SDRPlay device",
"type": "sdrplay",
"antenna": "Antenna A",
"rf_gain": "auto",
"profiles": {
"20m": {
"name": "20m",
"center_freq": 14150000,
"samp_rate": 500000,
"start_freq": 14070000,
"start_mod": "usb",
"tuning_step": "500"
},
"30m": {
"name": "30m",
"center_freq": 10125000,
"samp_rate": 250000,
"start_freq": 10142000,
"start_mod": "usb",
"tuning_step": "500"
},
"40m": {
"name": "40m",
"center_freq": 7100000,
"samp_rate": 500000,
"start_freq": 7070000,
"start_mod": "lsb",
"tuning_step": "500"
},
"80m": {
"name": "80m",
"center_freq": 3650000,
"samp_rate": 500000,
"start_freq": 3570000,
"start_mod": "lsb",
"tuning_step": "500"
},
"49m": {
"name": "49m Broadcast",
"center_freq": 6000000,
"samp_rate": 500000,
"start_freq": 6070000,
"start_mod": "am",
"tuning_step": "1000"
}
}
}
},
"receiver_name": "ARISS Radio Pi",
"receiver_location": "Budapest, Hungary",
"receiver_asl": 200,
"receiver_admin": "example@example.com",
"receiver_gps": {
"lat": 39.95233,
"lon": -75.16379
},
"photo_title": "Panorama of Budapest from Sch\u00f6nherz Zolt\u00e1n Dormitory",
"photo_desc": "",
"max_clients": 20,
"keep_files": 20,
"session_timeout": 0,
"usage_policy_url": "policy",
"allow_chat": true,
"allow_audio_recording": true,
"allow_center_freq_changes": false,
"magic_key": "memagic",
"receiver_keys": [],
"waterfall_scheme": "GoogleTurboWaterfall",
"fft_fps": 9,
"fft_size": 4096,
"fft_voverlap_factor": 0.3,
"waterfall_levels": {
"min": -88.0,
"max": -20.0
},
"waterfall_auto_levels": {
"min": 3.0,
"max": 10.0
},
"waterfall_auto_level_default_mode": false,
"waterfall_auto_min_range": 50,
"audio_compression": "adpcm",
"fft_compression": "adpcm",
"tuning_precision": 2,
"eibi_bookmarks_range": 0,
"repeater_range": 0,
"map_type": "google",
"google_maps_api_key": "",
"openweathermap_api_key": "",
"map_position_retention_time": 7200,
"map_ignore_indirect_reports": false,
"map_prefer_recent_reports": true,
"callsign_url": "https://www.qrzcq.com/call/{}",
"vessel_url": "https://www.vesselfinder.com/vessels/details/{}",
"flight_url": "https://flightaware.com/live/flight/{}",
"modes_url": "https://flightaware.com/live/modes/{}/redirect"
}

@ -4,10 +4,12 @@ echo "Script to decode SSTV using QSSTV with rtl_fm"
echo
sudo systemctl stop openwebrx
sudo systemctl stop openwebrx &>/dev/null
sudo modprobe snd-aloop
sudo killall -9 sdrpp &>/dev/null
sudo killall -9 qsstv &>/dev/null
sudo killall -9 rtl_fm &>/dev/null
@ -16,7 +18,7 @@ sudo killall -9 aplay &>/dev/null
sudo killall -9 direwolf &>/dev/null
sudo systemctl stop rtl_tcp
sudo systemctl stop rtl_tcp &>/dev/null
pkill -o chromium &>/dev/null
@ -30,6 +32,9 @@ sudo killall -9 sdrpp &>/dev/null
sudo killall -9 zenity &>/dev/null
sudo /etc/init.d/alsa-utils stop
sudo /etc/init.d/alsa-utils start
sudo killall -9 rtl_fm &>/dev/null
#echo "s" >> .mode

@ -3,7 +3,7 @@ Type=Application
Exec=/home/pi/CubeSatSim/groundstation/sdr.sh
Name=Web SDR
Comment=openwebrx for Web SDR
Icon=/home/pi/Downloads/openwebrx.png
Icon=/home/pi/Icons/openwebrx.png
Path=/home/pi
Terminal=true
Categories=HamRadio

@ -12,6 +12,10 @@ if [ -f "$FILE" ]; then
echo -e "\nUpdate script for CubeSatSim v2.2\n"
sudo rm /home/pi/CubeSatSim/telem.wav &>/dev/null
sudo rm /home/pi/CubeSatSim/t.txt &>/dev/null
sudo rm /home/pi/CubeSatSim/uptime &>/dev/null
if [ -z "$1" ] ; then
checkout=0
else
@ -61,9 +65,10 @@ if [[ $(grep '11.' /etc/debian_version) ]]; then
sudo sed -i 's/console=serial0,115200 //g' /boot/cmdline.txt
sudo sed -i 's/console=tty1 r/console=tty1 maxcpus=1 r/g' /boot/cmdline.txt # single core if Pi Zero 2
# sudo sed -i 's/console=tty1 r/console=tty1 maxcpus=1 r/g' /boot/cmdline.txt # single core if Pi Zero 2
sudo sed -i 's/console=tty1 maxcpus=1 r/console=tty1 r/g' /boot/cmdline.txt
sudo sed -i 's/maxcpus=2/maxcpus=1/g' /boot/cmdline.txt # single core if Pi Zero 2
# sudo sed -i 's/maxcpus=2/maxcpus=1/g' /boot/cmdline.txt # single core if Pi Zero 2
sudo sed -i 's/#dtparam=i2c_arm=on/dtparam=i2c_arm=on/g' /boot/config.txt
@ -158,11 +163,17 @@ if [[ $(grep 'bookworm' /etc/os-release) ]]; then
sudo sed -i 's/console=serial0,115200 //g' /boot/firmware/cmdline.txt
sudo sed -i 's/console=tty1 r/console=tty1 maxcpus=1 r/g' /boot/firmware/cmdline.txt # single core if Pi Zero 2
# sudo sed -i 's/console=tty1 r/console=tty1 maxcpus=1 r/g' /boot/firmware/cmdline.txt # single core if Pi Zero 2
sudo sed -i 's/console=tty1 maxcpus=1 r/console=tty1 r/g' /boot/firmware/cmdline.txt
sudo sed -i 's/maxcpus=2/maxcpus=1/g' /boot/firmware/cmdline.txt # single core if Pi Zero 2
# sudo sed -i 's/maxcpus=2/maxcpus=1/g' /boot/firmware/cmdline.txt # single core if Pi Zero 2
sudo sed -i 's/#dtparam=i2c_arm=on/dtparam=i2c_arm=on/g' /boot/firmware/config.txt
sudo sed -i 's/#dtoverlay=vc4-fkms-v3d/dtoverlay=vc4-fkms-v3d/g' /boot/firmware/config.txt
sudo sed -i 's/#dtoverlay=vc4-kms-v3d/dtoverlay=vc4-kms-v3d/g' /boot/firmware/config.txt
if [[ $(grep 'dtoverlay=i2c-gpio,bus=3,i2c_gpio_delay_us=1,i2c_gpio_sda=23,i2c_gpio_scl=24' /boot/firmware/config.txt) ]]; then
echo "dtoverlay=i2c-gpio already in /boot/firmware/config.txt"
@ -332,6 +343,8 @@ sudo apt-get update && sudo apt-get dist-upgrade -y
# sudo apt install -y python3-pip
# fi
cp /home/pi/CubeSatSim/groundstation/pacsat.desktop /home/pi/Desktop/pacsat.desktop
if [ ! -d "/home/pi/venv" ]; then
cd
@ -353,14 +366,39 @@ sudo apt-get install -y gcc g++ make cmake libasound2-dev libudev-dev libavahi-c
# removed wiringpi and python-picamera python3-picamera
sudo apt-get install -y git libasound2-dev i2c-tools build-essential libgd-dev libmagic-dev minicom
if [ -d "/home/pi/direwolf" ]; then
cd
cd direwolf
# Get the URL of the 'origin' remote
REPO_URL=$(git config --get remote.origin.url)
# Check if the command was successful and a URL was retrieved
if [ $? -eq 0 ] && [ -n "$REPO_URL" ]; then
if [ ! "$REPO_URL" = "https://github.com/wb2osz/direwolf.git" ]; then
echo "Current Direwolf git repository URL is $REPO_URL"
sudo rm -r /home/pi/direwolf
fi
else
echo "Could not find the URL for the 'origin' remote for Direwolf"
fi
fi
if [ ! -d "/home/pi/direwolf" ]; then
echo "Installing Direwolf from https://github.com/wb2osz/direwolf.git"
cd
git clone https://github.com/alanbjohnston/direwolf.git
cd direwolf
make -j
sudo make install
make install-rpi
git clone https://github.com/wb2osz/direwolf.git
cd direwolf
mkdir build
cd build
cmake ..
make -j4
sudo make install
make install-conf
fi
sudo apt-get install -y gpsd gpsd-clients libgps-dev python3-gps
@ -399,8 +437,16 @@ if [ $checkout -eq 1 ]; then
git checkout $branch
git pull --no-rebase > .updated
FLAG=1
echo "Running update script again"
echo "Running update again"
/home/pi/CubeSatSim/install
exit
fi
grep 'install' /home/pi/CubeSatSim/.updated
if [[ $(grep 'install' /home/pi/CubeSatSim/.updated) ]]; then
echo "install script updated, running again"
/home/pi/CubeSatSim/install
exit
fi
make debug
@ -436,6 +482,121 @@ if [[ $(grep 'changed' /home/pi/pi-power-button/.updated_p) ]]; then
FLAG=1
fi
if [ ! -d "/home/pi/g0kla_common" ]; then
cd
git clone https://github.com/alanbjohnston/g0kla_common.git
cd g0kla_common/Debug/
make clean
make all
sudo ./install.sh
else
cd /home/pi/g0kla_common/Debug/
git pull --no-rebase > .updated
grep 'changed' /home/pi/g0kla_common/Debug/.updated
if [[ $(grep 'changed' /home/pi/g0kla_common/Debug/.updated) ]]; then
echo "updating g0kla_common"
make clean
make all
FLAG=1
fi
fi
FILE=/home/pi/pi_pacsat/Debug/pi_pacsat # code has already been compiled
if [ ! -f "$FILE" ]; then
cd
#git clone https://github.com/alanbjohnston/pi_pacsat.git
git clone https://github.com/ac2cz/pi_pacsat.git
cd pi_pacsat
#git checkout master-debug
cd Debug
make clean
make all
# mkdir /home/pi/PacSat
# mkdir /home/pi/PacSat/pacsat
# mkdir /home/pi/PacSat/pacsat/dir
# export LD_LIBRARY_PATH=/mnt/usb-disk/ariss/lib:/usr/local/lib/iors_common:$LD_LIBRARY_PATH
# #value=`cat /home/pi/CubeSatSim/sim.cfg`
# #echo "$value" > /dev/null
# #set -- $value
# echo "bit_rate=9600" > pacsat.config
# echo "bbs_callsign=AMSAT-12" >> pacsat.config
# echo "broadcast_callsign=AMSAT-11" >> pacsat.config
# echo "digi_callsign=AMSAT-1" >> pacsat.config
# echo "max_frames_in_tx_buffer=5" >> pacsat.config
# echo "pb_open=1" > pacsat.state
# echo "uplink_open=1" >> pacsat.state
# echo "pb_max_period_for_client_in_seconds=60" >> pacsat.state
# echo "uplink_max_period_for_client_in_seconds=60" >> pacsat.state
else
cd /home/pi/pi_pacsat/Debug/
git pull --no-rebase > .updated
grep 'changed' /home/pi/pi_pacsat/Debug/.updated
if [[ $(grep 'changed' /home/pi/pi_pacsat/Debug/.updated) ]]; then
echo "updating pi_pacsat"
make clean
make all
FLAG=1
fi
fi
FILE=/home/pi/pacsat_telem/Debug/pacsat_telem # code has already been compiled
if [ ! -f "$FILE" ]; then
cd
sudo apt-get install -y libbsd-dev
git clone https://github.com/alanbjohnston/pacsat_telem.git
cd pacsat_telem
git checkout master-fox
cd Debug
make clean
make all
fi
cd /home/pi/pacsat_telem/Debug/
git pull --no-rebase > .updated
# git checkout master-fox
grep 'changed' /home/pi/pacsat_telem/Debug/.updated
if [[ $(grep 'changed' /home/pi/pacsat_telem/Debug/.updated) ]]; then
echo "updating pacsat_telem"
make clean
make all
FLAG=1
fi
sudo sed -i 's/#hdmi_group=1/hdmi_group=2/g' /boot/config.txt
sudo sed -i 's/#hdmi_mode=1/hdmi_mode=16/g' /boot/config.txt
sudo sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/g' /boot/config.txt
sudo raspi-config nonint do_vnc 0
if [ ! -d "/home/pi/Desktop/PacsatGround" ]; then
cd /tmp
wget https://www.g0kla.com/pacsat/downloads/test/PacsatGround_unix_0_46o.tar.gz
tar -xzf PacsatGround_unix_0_46o.tar.gz -C /home/pi/Desktop
rm PacsatGround_unix_0_46o.tar.gz
cp /home/pi/CubeSatSim/spacecraft/PacSatGround_0.46o/* /home/pi/Desktop/PacsatGround/spacecraft/
# mkdir /home/pi/PacSatGround
sudo usermod -a -G gpio pi
sudo apt-get install default-jdk -y
fi
cd
if [ ! -d "/home/pi/PiSSTVpp" ]; then
@ -481,7 +642,7 @@ if [ -f "$FILE" ]; then
else
echo "creating cubesatsim.service."
sudo cp /home/pi/CubeSatSim/systemd/cubesatsim.service /etc/systemd/system/cubesatsim.service
sudo systemctl enable command
sudo systemctl enable cubesatsim
FLAG=1
fi
@ -523,6 +684,21 @@ else
FLAG=1
fi
FILE=/etc/systemd/system/pacsatsim.service
if [ -f "$FILE" ]; then
if [[ $(diff /home/pi/CubeSatSim/systemd/pacsatsim.service /etc/systemd/system/pacsatsim.service) ]]; then
echo "changed pacsatsim.service."
sudo cp /home/pi/CubeSatSim/systemd/pacsatsim.service /etc/systemd/system/pacsatsim.service
FLAG=1
else
echo "no change to pacsatsim.service."
fi
else
echo "creating pacsatsim.service."
sudo cp /home/pi/CubeSatSim/systemd/pacsatsim.service /etc/systemd/system/pacsatsim.service
FLAG=1
fi
FILE=/etc/asound.conf
if [ -f "$FILE" ]; then
if [[ $(diff /home/pi/CubeSatSim/asound.conf /etc/asound.conf) ]]; then
@ -655,9 +831,15 @@ cd
#fi
sed -i 's/quick_exec=0/quick_exec=1/' ~/.config/libfm/libfm.conf
sudo apt install -y raspberrypi-ui-mods
sudo apt autoremove -y
if [ "$noreboot" = "0" ] ; then
if [ $FLAG -eq 1 ]; then
if [ $FLAG -eq 1 ]; then # Not sure if this is needed
echo "systemctl daemon-reload and reboot"
sudo systemctl daemon-reload
sudo reboot -h now

71
log

@ -2,16 +2,65 @@
echo -e "\nLog file script for CubeSatSim\n"
if [ "$1" = "-r" ] || [ "$1" = "-t" ] ; then
sudo journalctl -a -u transmit > /home/pi/CubeSatSim/logt.txt
cat /home/pi/CubeSatSim/logt.txt
echo -e "\nTransmit Log file also saved as /home/pi/CubeSatSim/logt.txt"
elif [ "$1" = "-c" ]; then
sudo journalctl -a -u command > /home/pi/CubeSatSim/logc.txt
cat /home/pi/CubeSatSim/logc.txt
echo -e "\nCommand and Control Log file also saved as /home/pi/CubeSatSim/logc.txt"
if [ "$1" = "-h" ] ; then
echo "Displays systemd logs for the chose process. The choices are:"
echo " -d cubesatsim (also no choice gives you this)"
echo " -t transmit"
echo " -c command and control"
echo " -p pacsat"
echo "Default is the log is dumpted to the screen and written to a file."
echo "If an additional r is included, the log is realtime, and exits with a Control-C"
echo
exit
fi
REALTIME=0
if [ "$2" = "r" ] ; then
REALTIME=1
fi
if [ "$REALTIME" = "1" ] ; then
echo "To exit, type Control-C"
echo
sleep 2
if [ "$1" = "-r" ] || [ "$1" = "-t" ] ; then
sudo journalctl -af -u transmit # > /home/pi/CubeSatSim/logt.txt
# cat /home/pi/CubeSatSim/logt.txt
# echo -e "\nTransmit Log file also saved as /home/pi/CubeSatSim/logt.txt"
elif [ "$1" = "-c" ]; then
sudo journalctl -af -u command # > /home/pi/CubeSatSim/logc.txt
cat /home/pi/CubeSatSim/logc.txt
# echo -e "\nCommand and Control Log file also saved as /home/pi/CubeSatSim/logc.txt"
elif [ "$1" = "-p" ]; then
sudo journalctl -af -u pacsatsim # > /home/pi/CubeSatSim/logp.txt
cat /home/pi/CubeSatSim/logp.txt
# echo -e "\nCommand and Control Log file also saved as /home/pi/CubeSatSim/logp.txt"
else
sudo journalctl -af -u cubesatsim # > /home/pi/CubeSatSim/log.txt
# cat /home/pi/CubeSatSim/log.txt
# echo -e "\nLog file also saved as /home/pi/CubeSatSim/log.txt"
fi
else
sudo journalctl -a -u cubesatsim > /home/pi/CubeSatSim/log.txt
cat /home/pi/CubeSatSim/log.txt
echo -e "\nLog file also saved as /home/pi/CubeSatSim/log.txt"
if [ "$1" = "-r" ] || [ "$1" = "-t" ] ; then
sudo journalctl -a -u transmit > /home/pi/CubeSatSim/logt.txt
cat /home/pi/CubeSatSim/logt.txt
echo -e "\nTransmit Log file also saved as /home/pi/CubeSatSim/logt.txt"
elif [ "$1" = "-c" ]; then
sudo journalctl -a -u command > /home/pi/CubeSatSim/logc.txt
cat /home/pi/CubeSatSim/logc.txt
echo -e "\nCommand and Control Log file also saved as /home/pi/CubeSatSim/logc.txt"
elif [ "$1" = "-p" ]; then
sudo journalctl -a -u pacsatsim > /home/pi/CubeSatSim/logp.txt
cat /home/pi/CubeSatSim/logp.txt
echo -e "\nCommand and Control Log file also saved as /home/pi/CubeSatSim/logp.txt"
else
sudo journalctl -a -u cubesatsim > /home/pi/CubeSatSim/log.txt
cat /home/pi/CubeSatSim/log.txt
echo -e "\nLog file also saved as /home/pi/CubeSatSim/log.txt"
fi
fi

133
main.c

@ -261,13 +261,28 @@ int main(int argc, char * argv[]) {
printf("Mode is Repeater\n");
} else if ( mode_string == 'n') {
mode = TXCOMMAND;
printf("Mode is Transmit Command\n");
} else {
printf("Mode is Transmit Command\n");
} else if ( mode_string == 'p') {
mode = PACSAT;
printf("Mode is Pacsat\n");
} else if ( mode_string == 'P') {
mode = PACSATGND;
printf("Mode is Pacsat Ground Station\n");
} else {
printf("Mode is BPSK\n");
}
}
}
/*
if ( mode == PACSAT) {
FILE * pacsat_file = popen("sudo systemctl restart pacsatsim", "r");
pclose(pacsat_file);
}
else {
FILE * pacsat_file = popen("sudo systemctl stop pacsatsim", "r");
pclose(pacsat_file);
}
*/
// Open telemetry file with STEM Payload Data
telem_file = fopen("/home/pi/CubeSatSim/telem.txt", "a");
if (telem_file == NULL)
@ -315,13 +330,15 @@ int main(int argc, char * argv[]) {
map[MINUS_X] = MINUS_Y;
map[PLUS_Z] = MINUS_X;
map[MINUS_Y] = PLUS_Z;
/*
if (access("/dev/i2c-11", W_OK | R_OK) >= 0) { // Test if I2C Bus 11 is present
printf("/dev/i2c-11 is present\n\n");
snprintf(busStr, 10, "%d %d", test_i2c_bus(1), test_i2c_bus(11));
} else {
snprintf(busStr, 10, "%d %d", i2c_bus1, i2c_bus3);
}
*/
snprintf(busStr, 10, "%d %d", i2c_bus1, i2c_bus3);
FILE * os_test = popen("cat /etc/os-release", "r");
fgets(cmdbuffer, 1000, os_test);
@ -503,8 +520,9 @@ int main(int argc, char * argv[]) {
printf("\n FSK Mode, %d bits per frame, %d bits per second, %d ms per frame, %d ms sample period\n",
bufLen / (samples * frameCnt), bitRate, frameTime, samplePeriod);
} else if (mode == BPSK) {
} else if ((mode == BPSK) || (mode == PACSAT) || (mode == PACSATGND)) {
//// } else {
bitRate = 1200;
rsFrames = 3;
payloads = 6;
@ -526,8 +544,11 @@ int main(int argc, char * argv[]) {
frameTime = ((float)((float)bufLen / (samples * frameCnt * bitRate))) * 1000; // frame time in ms
printf("\n BPSK Mode, bufLen: %d, %d bits per frame, %d bits per second, %d ms per frame %d ms sample period\n",
bufLen, bufLen / (samples * frameCnt), bitRate, frameTime, samplePeriod);
if (mode == BPSK)
printf("\n BPSK Mode, bufLen: %d, %d bits per frame, %d bits per second, %d ms per frame %d ms sample period\n",
bufLen, bufLen / (samples * frameCnt), bitRate, frameTime, samplePeriod);
else
printf("\n dataLen: %d \n", dataLen);
sin_samples = S_RATE/freq_Hz;
// printf("Sin map: ");
@ -580,15 +601,8 @@ int main(int argc, char * argv[]) {
memset(sensor, 0, sizeof(sensor));
memset(other, 0, sizeof(other));
// if (((mode == FSK) || (mode == BPSK))) // && !sim_mode)
if (mode == FSK) { // && !sim_mode)
get_tlm_fox();
// get_tlm_fox();
}
if (mode == BPSK) { // && !sim_mode)
if ((mode == FSK) || (mode == BPSK) || (mode == PACSAT) || (mode == PACSATGND)) // && !sim_mode)
get_tlm_fox(); // fill transmit buffer with reset count 0 packets that will be ignored
// get_tlm_fox();
}
else if (mode == FC) // && !sim_mode)
get_tlm_fc(); // fill transmit buffer with reset count 0 packets that will be ignored
else if (mode == CW)
@ -605,6 +619,8 @@ int main(int argc, char * argv[]) {
strcat(pythonConfigStr, " c");
fprintf(stderr, "pythonConfigStr: %s\n", pythonConfigStr);
FILE *file2 = sopen(pythonVenv); // activate venv
file1 = sopen(pythonConfigStr); // python sensor polling function
@ -1028,6 +1044,7 @@ int main(int argc, char * argv[]) {
}
if (sim_mode) { // simulated telemetry
printf("Simulated telemetry mode\n");
double time = ((long int)millis() - time_start) / 1000.0;
@ -1066,9 +1083,9 @@ int main(int argc, char * argv[]) {
// float charging = eclipse * (fabs(amps_max[0] * 0.707) + fabs(amps_max[1] * 0.707) + rnd_float(-4.0, 4.0));
// current[map[BAT]] = ((current[map[BAT2]] * voltage[map[BAT2]]) / batt) - charging;
current[map[BAT]] = rnd_float(320, 510) - charging;
current[map[BAT]] = rnd_float(320, 510) - charging;
printf("charging: %f bat curr: %f bus curr: %f bat volt: %f bus volt: %f \n",charging, current[map[BAT]], current[map[BAT2]], batt, voltage[map[BAT2]]);
printf("charging: %f bat curr: %f bus curr: %f bat volt: %f bus volt: %f \n",charging, current[map[BAT]], current[map[BAT2]], batt, voltage[map[BAT2]]);
batt -= (batt > 3.5) ? current[map[BAT]] / 300000 : current[map[BAT]] / 30000;
if (batt < 3.6) {
@ -1275,11 +1292,11 @@ int main(int argc, char * argv[]) {
sleep(rand_sleep);
// fprintf(stderr, "INFO: Sleeping for extra %d sec\n", rand_sleep);
} else if ((mode == FSK) || (mode == BPSK)) {// FSK or BPSK
} else if ((mode == FSK) || (mode == BPSK) || (mode == PACSAT) || (mode == PACSATGND)) {// FSK or BPSK
get_tlm_fox();
} else if ((mode == FC)) {
get_tlm_fc();
} else { // SSTV
} else { // SSTV or PACSATGND
// fprintf(stderr, "Sleeping\n");
sleep(30);
}
@ -1560,6 +1577,8 @@ void get_tlm_fox() {
smaller = (int)(S_RATE / (2 * freq_Hz));
// if (mode == PACSAT)
// dataLen = 78;
short int b[dataLen];
short int b_max[dataLen];
short int b_min[dataLen];
@ -1629,7 +1648,10 @@ void get_tlm_fox() {
sampleTime = (unsigned int)millis();
} else
printf("first or second time - no sleep\n");
{
printf("first time - no sleep\n");
firstTime = OFF;
}
printf("++++ Loop time: %5.3f sec +++++\n", (millis() - loopTime) / 1000.0);
fflush(stdout);
@ -1640,7 +1662,6 @@ void get_tlm_fox() {
for (int count1 = 0; count1 < 8; count1++) {
if (voltage[count1] < voltage_min[count1]) voltage_min[count1] = voltage[count1];
if (current[count1] < current_min[count1]) current_min[count1] = current[count1];
if (voltage[count1] > voltage_max[count1]) voltage_max[count1] = voltage[count1];
if (current[count1] > current_max[count1]) current_max[count1] = current[count1];
@ -1998,8 +2019,8 @@ void get_tlm_fox() {
encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed * 2 + c2cStatus * 4);
encodeA(b, 53 + head_offset, groundCommandCount);
if (mode == BPSK) {
encodeA(b_max, 51 + head_offset, status);
if ((mode == BPSK) || (mode == PACSAT) || (mode == PACSATGND)) {
encodeA(b_max, 51 + head_offset, status);
encodeA(b_min, 51 + head_offset, status);
encodeB(b_max, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed * 2 + c2cStatus * 4);
encodeB(b_min, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed * 2 + c2cStatus * 4);
@ -2020,8 +2041,38 @@ void get_tlm_fox() {
encodeA(b, 65 + head_offset, val >> 8);
encodeA(b, 63 + head_offset, 0x00);
encodeA(b, 62 + head_offset, 0x01);
encodeB(b, 74 + head_offset, 0xfff);
encodeB(b, 74 + head_offset, 0xfff);
}
if ((mode == PACSAT) || (mode == PACSATGND))
{
FILE *telem_binary = fopen("/home/pi/CubeSatSim/tlm.bin", "wb");
if (telem_binary != NULL) {
int bytes_written = 4;
unsigned int now = (unsigned int)time(0);
fwrite(&now, sizeof(now), 1, telem_binary);
int count;
char byte;
printf("b is: \n");
for (count = 0; count < dataLen; count++) {
byte = b[count];
fwrite(&byte, 1, 1, telem_binary);
printf("%02X ", byte);
bytes_written++;
}
printf("\n");
printf("Writing %d bytes to tlm.bin\n", bytes_written + 4);
fclose(telem_binary);
}
else
printf("Error opening tlm.bin\n");
}
else
{ // extra bracket for some reason?
{
short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)];
short int data8[headerLen + rsFrames * (rsFrameLen + parityLen)];
@ -2310,22 +2361,25 @@ void get_tlm_fox() {
// max -= 1;
}
/// if (sock_ret == -1) {
/// printf("Error: %s \n", strerror(errno));
/// socket_open = 0;
// transmitStatus = -1;
/// }
/// }
if (socket_open == 1)
firstTime = 0;
// else if (frames_sent > 0) //5)
// firstTime = 0;
}
} // extra bracket for some reason?
if (!transmit) {
fprintf(stderr, "\nNo CubeSatSim Band Pass Filter detected. No transmissions after the CW ID.\n");
fprintf(stderr, " See http://cubesatsim.org/wiki for info about building a CubeSatSim\n\n");
}
/// if (socket_open == 1)
/// firstTime = 0;
// else if (frames_sent > 0) //5)
// firstTime = 0;
// if (firstTime && (mode == PACSAT))
// {
// firstTime = OFF;
// fprintf(stderr, "No longer first time\n");
// fflush(stdout);
// }
return;
}
@ -2664,9 +2718,8 @@ if (setting == ON) {
FILE *command = popen("touch /home/pi/CubeSatSim/battery_saver", "r");
pclose(command);
fprintf(stderr,"Turning Safe Mode ON\n");
fprintf(stderr,"Turning Battery saver mode ON\n");
battery_saver_mode = ON;
if ((mode == AFSK) || (mode == SSTV) || (mode == CW)) {
fprintf(stderr,"Turning Battery saver mode ON\n");
if ((mode == AFSK) || (mode == SSTV) || (mode == CW) || (mode == PACSAT) || (mode == PACSATGND)) {
command = popen("echo 'reboot due to turning ON Safe Mode!' | wall", "r");
pclose(command);
command = popen("sudo reboot now", "r");
@ -2683,7 +2736,7 @@ if (setting == ON) {
pclose(command);
fprintf(stderr,"Turning Battery saver mode OFF\n");
battery_saver_mode = OFF;
if ((mode == AFSK) || (mode == SSTV) || (mode == CW)) {
if ((mode == AFSK) || (mode == SSTV) || (mode == CW) || (mode == PACSAT) || (mode == PACSATGND)) {
command = popen("echo 'reboot due to turning OFF Safe Mode!' | wall", "r");
pclose(command);
command = popen("sudo reboot now", "r");

@ -125,7 +125,9 @@ FILE *image_file;
#define CW 5
#define FC 6
#define REPEATER 7
#define PACSAT 8
#define TXCOMMAND 12
#define PACSATGND 13
#define FAIL_COUNT 11
#define FAIL_NONE -1
@ -200,6 +202,7 @@ char sensor_string[SENSOR_FIELDS][32];
int test_i2c_bus(int bus);
//const char pythonCmd[] = "python3 -u /home/pi/CubeSatSim/python/voltcurrent.py ";
const char pythonVenv[] = "source /home/pi/venv/bin/activate";
const char pythonCmd[] = "/home/pi/venv/bin/python3 -u /home/pi/CubeSatSim/ina219.py ";
char pythonStr[100], pythonConfigStr[100], busStr[10];
int map[8] = {0, 1, 2, 3, 4, 5, 6, 7};

@ -0,0 +1,322 @@
#!/bin/bash
# script to run PacsatSim
loopback=0
vox=0
safe=0
card=0
pwm=0
if [ "$1" = "l" ] ; then
loopback=1
elif [ "$1" = "v" ] ; then
vox=1
elif [ "$1" = "c" ] ; then
card=1
else
pwm=1
fi
FILE=/home/pi/CubeSatSim/battery_saver
if [ -f "$FILE" ]; then
safe=1
fi
if [[ $(arecord -l | grep "USB Audio Device") ]] ; then
echo "USB Sound Card detected"
soundcard=1
else
echo "No USB Sound Card detected"
soundcard=0
fi
gpio -g mode 7 up
if [[ $(gpio -g read 7 | grep 0) ]] ; then
echo "TXC is present"
txc=1
else
echo "TXC not present"
txc=0
fi
timeout 1 rtl_test &> out.txt
if [[ $(grep "No supported" out.txt) ]] ; then
echo "No RTL-SDR detected"
rtl=0
else
echo "RTL-SDR detected."
rtl=1
fi
value=`cat /home/pi/CubeSatSim/sim.cfg`
echo "$value" > /dev/null
set -- $value
callsign="$1"
txfrequency="$7e3"
rxfrequency="$8e3"
echo -n "PacSat allsign is "
echo $callsign
echo -n "Transmit Frequency is "
echo $txfrequency
echo -n "Receive Frequency is "
echo $rxfrequency
echo
sleep 2
if [ ! -d "/home/pi/PacSat" ]; then
echo "Setting up PacSatSim default configuration"
echo
cd
sudo rm pacsat-dir.zip
mkdir PacSat
mkdir PacSat/pacsat
mkdir PacSat/pacsat/dir
wget https://github.com/alanbjohnston/pi_pacsat/releases/download/v0.1/pacsat-dir.zip
unzip pacsat-dir.zip -d PacSat/pacsat/dir
sudo rm pacsat-dir.zip
cd
sudo rm /home/pi/pi_pacsat/Debug/pacsat.config
sudo rm /home/pi/pi_pacsat/Debug/pacsat.state
sudo rm /home/pi/pi_pacsat/Debug/pacsat_upload_table.dat
sudo rm pi_pacsat.zip
wget https://github.com/alanbjohnston/pi_pacsat/releases/download/v0.1/pi_pacsat.zip
unzip pi_pacsat.zip -d /home/pi/pi_pacsat/Debug
sudo rm pi_pacsat.zip
# mkdir /home/pi/PacSat
# mkdir /home/pi/PacSat/pacsat
# mkdir /home/pi/PacSat/pacsat/dir
# cd /home/pi/pi_pacsat/Debug
# sudo rm pacsat_last_command_time.dat
# sudo rm pacsat_upload_table.dat
# sudo rm pacsat.state
# echo "bit_rate=9600" > pacsat.config
# echo "bbs_callsign=AMSAT-12" >> pacsat.config
# echo "broadcast_callsign=AMSAT-11" >> pacsat.config
# echo "digi_callsign=AMSAT-1" >> pacsat.config
# echo "max_frames_in_tx_buffer=5" >> pacsat.config
# echo "pb_open=1" > pacsat.state
# echo "uplink_open=1" >> pacsat.state
# echo "pb_max_period_for_client_in_seconds=60" >> pacsat.state
# echo "uplink_max_period_for_client_in_seconds=60" >> pacsat.state
# touch /home/pi/pi_pacsat/Debug/pacsat_upload_table.dat
fi
value=`cat /home/pi/CubeSatSim/sim.cfg`
echo "$value" > /dev/null
set -- $value
callsign="$1"
frequency="$7e3"
echo "Configured callsign is "
echo $callsign
oldcallsign=$(grep -oP '(?<=bbs_callsign=).*(?=-)' /home/pi/pi_pacsat/Debug/pacsat.config)
echo "Callsign in pacsat.config is "
echo $oldcallsign
if [ ! "$callsign" = "$oldcallsign" ] ; then
sudo sed -i "s/bbs_callsign=$oldcallsign/bbs_callsign=$callsign/g" /home/pi/pi_pacsat/Debug/pacsat.config
sudo sed -i "s/broadcast_callsign=$oldcallsign/broadcast_callsign=$callsign/g" /home/pi/pi_pacsat/Debug/pacsat.config
sudo sed -i "s/digi_callsign=$oldcallsign/digi_callsign=$callsign/g" /home/pi/pi_pacsat/Debug/pacsat.config
echo "New pacsat.confg is"
echo
cat /home/pi/pi_pacsat/Debug/pacsat.config
fi
sudo /etc/init.d/alsa-utils stop
sudo /etc/init.d/alsa-utils start
# export LD_LIBRARY_PATH=/mnt/usb-disk/ariss/lib:/usr/local/lib/iors_common:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
#sudo systemctl stop cubesatsim
#sudo systemctl stop transmit
#sudo systemctl stop command &>/dev/null
sudo modprobe snd-aloop
#sudo systemctl stop openwebrx
#sudo systemctl stop rtl_tcp &>/dev/null
#pkill -o chromium &>/dev/null
#sudo killall -9 rtl_fm &>/dev/null
#sudo killall -9 direwolf &>/dev/null
#udo killall -9 aplay &>/dev/null
#sudo killall -9 qsstv &>/dev/null
#sudo killall -9 rtl_tcp &>/dev/null
#sudo killall -9 java &>/dev/null
#sudo killall -9 CubicSDR &>/dev/null
#sudo killall -9 zenity &>/dev/null
sudo killall -9 pacsat_telem &>/dev/null
sudo killall -9 pi_pacsat &>/dev/null
echo
#choice=2
#fi
# frequency=434900000
echo
echo "If your Pacsat Ground Station is transmitting packets, you will see them here"
echo
#echo
#echo "Note that the 'Tuned to' frequency will be different from the chosen frequency due to the way SDRs work."
# echo -e "Auto decoding APRS Pacsat packets on $frequency Hz"
# direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-loopback.conf -t 0 &
# /usr/bin/x-terminal-emulator --geometry=120x40 -e "/home/pi/CubeSatSim/pacsatsim-df.sh"
sudo usermod -a -G gpio pi
if [ "$loopback" = "1" ] ; then
echo "Using audio loopback"
ADEVICE="ADEVICE plughw:CARD=Loopback,DEV=0"
PTT="PTT GPIOD gpiochip0 17"
value=`cat /home/pi/CubeSatSim/.mode`
echo "$value" > /dev/null
set -- $value
MODE=$1
if [ ! "$MODE" = "P" ] ; then
/home/pi/CubeSatSim/config -I n
fi
# sudo /home/pi/CubeSatSim/pacsatsim-d.sh &
# direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-loopback.conf -t 0 &
elif [ "$safe" = "1" ] ; then
echo "Safe mode - battery saver"
# sudo /home/pi/CubeSatSim/pacsatsim-d.sh &
ADEVICE="ADEVICE shared_mic plughw:CARD=Loopback,DEV=0"
PTT="PTT GPIOD gpiochip0 17"
# direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-pwm-loopback.conf -t 0 &
# arecord -D plughw:CARD=Loopback,DEV=1 -f S16_LE -r 48000 -c 1 | csdr convert_s16_f | csdr gain_ff 4000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434900 &
# arecord -D plughw:CARD=Loopback,DEV=1 -f S16_LE -r 48000 -c 1 | csdr convert_s16_f | csdr gain_ff 4000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f $frequency &
elif [ "$vox" = "1" ]; then
echo "Using Soundcard Audio TX and RX (VOX, no PTT)"
ADEVICE="ADEVICE plughw:CARD=Device,DEV=0"
PTT="PTT GPIOD gpiochip0 17"
# sudo /home/pi/CubeSatSim/pacsatsim-dj.sh &
# direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-jp14-half.conf -t 0 &
elif [ "$pwm" = "1" ] ; then
echo "FM TXC using Soundcard input (JP13), PWM output"
ADEVICE="ADEVICE shared_mic plughw:CARD=Headphones,DEV=0"
PTT="PTT GPIOD gpiochip0 -20"
# direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-pwm.conf -t 0 &
else
echo "FM TXC using Soundcard input (JP13) and output (JP14)"
ADEVICE="ADEVICE shared_mic plughw:CARD=Device,DEV=0"
PTT="PTT GPIOD gpiochip0 -20"
# direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-jp14.conf -t 0 &
fi
DIREWOLF_CONF="/home/pi/CubeSatSim/direwolf-pacsatsim-tmp.conf"
echo "$ADEVICE" > $DIREWOLF_CONF
echo "MYCALL $callsign-1" >> $DIREWOLF_CONF
echo "$PTT" >> $DIREWOLF_CONF
cat /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim.conf >> $DIREWOLF_CONF
echo
echo "$DIREWOLF_CONF"
echo
cat $DIREWOLF_CONF
echo
direwolf -P+ -D1 -qd -dp -r 48000 -c $DIREWOLF_CONF -t 0 &
# arecord -D plughw:CARD=Loopback,DEV=1 -f S16_LE -r 48000 -c 1 | csdr convert_s16_f | csdr gain_ff 14000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434900 &
## arecord -D plughw:CARD=Loopback,DEV=1 -f S16_LE -r 48000 -c 1 | csdr convert_s16_f | csdr gain_ff 4000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434900 &
## echo "Don't close the direwolf window or the Pacsatsim will stop running."
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
/home/pi/pacsat_telem/Debug/pacsat_telem -v -d /home/pi/PacSat/pacsat &
sleep 5
value=`aplay -l | grep "Loopback"`
echo "$value" > /dev/null
set -- $value
#rtl_fm -M fm -f $frequency -s 48k | tee >(aplay -D hw:${2:0:1},0,0 -r 48000 -t raw -f S16_LE -c 1) | aplay -D hw:0,0 -r 48000 -t raw -f S16_LE -c 1 &
cd /home/pi/pi_pacsat/Debug
./pi_pacsat -c pacsat.config -d /home/pi/PacSat
sleep 60

@ -0,0 +1,15 @@
Pacsat Telemetry Decoder Properties
#Sat Nov 26 18:12:20 EST 2016
numberOfLookupTables=0
measurementsFileName=measurements.csv
model=1
layout0.filename=PACSAT_rttelemetry.csv
layout0.name=TLMI_LAYOUT
passMeasurementsFileName=passmeasurements.csv
name=PacSatSim
description=PacSatSim
numberOfLayouts=1
satId=3
catalogNumber=0
conversionCoefficients=pacsat-coef.csv
layoutsUseBits=True

@ -0,0 +1,20 @@
#PacSat Ground Station Properties
#Sun Feb 17 18:25:06 EST 2019
sequence_num=3
name=PacSatSim
digiCallsign=AMSAT-1
description=PacSatSim
broadcastCallsign=AMSAT-11
DIR_AGE=10
bbsCallsign=AMSAT-12
telemLayoutFile=PacSatSim.dat
telem_server=tlm.amsatfox.org
web_site_url=http://CubeSatSim.org
show_system_files_on_dir_tab=false
show_user_files=true
supports_file_upload=true
norad_id=30776
psf_header_check_sums=false
commandsFile=pacsat.commands
is_command_station=true
secret_key=ScKQLp2ZMvCaCTK5jAmOmKmA0JiSyJ6Y15+Yfg\=\=

@ -0,0 +1,41 @@
0,-,NONE,0,1,0,0,0,0,None,0,4096,None
1,-,Boolean,0,1,0,0,0,0,Boolean,0,1,A Boolean value that prints TRUE or FALSE
2,-,Counts,0,1,0,0,0,0,Counts,0,4096,An integer count value
3,-,Date,0,1,0,0,0,0,Date,0,4096,A Unix epoch date time integer
4,-,TXPower,0,1,0,0,0,0,None,0,4096,None
5,-,IHUSpeed,0,0.1,0,0,0,0,None,0,4096,None
6,-,RSSI_1,0,-1,0,0,0,0,Counts,0,4096,Signed 8 bit
7,-,Mode,0,0,0,0,0,0,Enum,0,4096,SAFE:CREW:TELEM:X BAND RPT:APRS:SSTV:FS
8,-,Battery,0,0.001,0,0,0,0,None,0,4096,Battery Voltage
9,-,IHUTemp,0,0.1,0,0,0,0,None,0,4096,None
10,-,Mode,0,1,0,0,0,0,None,0,4096,The spacecraft Mode
11,-,FS_BYTES_PER_BLK,0,128,0,0,0,0,Counts,0,4096,The number of bytes per block in RED FS
12,-,FS_FILE_NUMBER,-4,1,0,0,0,0,Counts,0,4096,The number of files in the FS excluding core OS folders
13,-,SHTC3Temp,-45,0.002670288,0,0,0,0,None,0,4096,SHTC3 Temperature sensor
14,-,SHTC3Humidity,0,0.001525879,0,0,0,0,None,0,4096,SHTC3 Humidity sensor
15,-,LPS22Pressure,0,0.000244141,0,0,0,0,None,0,4096,LPS22 Pressure sensor
16,-,LPS22Temp,0,0.01,0,0,0,0,None,0,4096,LPS22 Temperature of sensor
17,-,IMUTemp,0,0.00390625,0,0,0,0,None,0,4096,Temperature of IMU = raw/256
18,-,Acc,0,6.10E-05,0,0,0,0,Sint16,0,4096,Accelerometer is 2g full scale
19,-,Gyro,0,0.000976563,0,0,0,0,Sint16,0,4096,Gyro scale for 32dps
20,-,Mag,0,0.149975574,0,0,0,0,Sint16,0,4096,Mag is 4912 full scale
21,-,AntMode,0,0,0,0,0,0,Enum,0,4096,MANUAL:AUTO:ORBIT
22,-,ResetReason,0,0,0,0,0,0,Enum,0,4096,NONE:SHUTDOWN:REBOOT:RADIO:TNC:TNC LISTEN:RUN TWICE:RADIO REBOOT:TNC PS REBOOT:TNC REBOOT:SOFT:THERMAL
23,-,LogLevel,0,0,0,0,0,0,Enum,0,4096,NONE:ERROR:WARN:INFO
24,-,O2FromVolts,86.434,-0.0354,0,0,0,0,None,0,4096,O2 Conc from raw voltage as a percentage
25,-,SensorState,0,0,0,0,0,0,Enum,0,4096,OFF:ON:ERR
26,-,SPARE2,0,0,0,0,0,0,Counts,0,4096,SPARE
27,-,O2Conc,0,0.01,0,0,0,0,Sint16,0,4096,O2 concentration as percentage
28,-,SSTVMode,0,0,0,0,0,0,Enum,0,4096,MartinM1:MartinM2:ScottieS1:ScottieS2:Robot36:PasokonP3:PasokonP5:PasokonP7:PD90:PD120:PD160:PD180:PD240:PD290:Robot8BW:Robot24BW
29,-,DivideBy100,0,0.01,0,0,0,0,None,0,4096,Divide by 100
30,-,DivideBy100Offset,-20.48,0.01,0,0,0,0,None,0,4096,Divide by 100 with Offset
31,-,Offset,-2048,1,0,0,0,0,Counts,0,4096,Offset
32,-,DivideBy10Offset,-204.8,0.1,0,0,0,0,None,0,4096,Divide by 10 with Offset
33,-,Status,0,0,0,0,0,0,Enum,0,4096,OFF:ON
34,-,CommandStatus,0,0,0,0,0,0,Enum,0,4096,OFF:Carrier:DTMF/APRS
35,-,FailStatus,0,0,0,0,0,0,Enum,0,4096,OK:FAIL
36,-,AntStatus,0,0,0,0,0,0,Enum,0,4096,STOWED:DEPLOYED
37,-,Times10,0,10.0,0,0,0,0,Counts,0,4096,Multiply by 10
NOTES:,,,,,,,,,,,,
Serial,Ignore,name,a,b,c,d,e,f,format,low limit,high limit,Comment
Echo value = a + bx + cx^2 + dx^3 + ex^4 + fx^5,Echo value = a + bx + cx^2 + dx^3 + ex^4 + fx^5,,,,,,,,,,,
1 0 - NONE 0 1 0 0 0 0 None 0 4096 None
2 1 - Boolean 0 1 0 0 0 0 Boolean 0 1 A Boolean value that prints TRUE or FALSE
3 2 - Counts 0 1 0 0 0 0 Counts 0 4096 An integer count value
4 3 - Date 0 1 0 0 0 0 Date 0 4096 A Unix epoch date time integer
5 4 - TXPower 0 1 0 0 0 0 None 0 4096 None
6 5 - IHUSpeed 0 0.1 0 0 0 0 None 0 4096 None
7 6 - RSSI_1 0 -1 0 0 0 0 Counts 0 4096 Signed 8 bit
8 7 - Mode 0 0 0 0 0 0 Enum 0 4096 SAFE:CREW:TELEM:X BAND RPT:APRS:SSTV:FS
9 8 - Battery 0 0.001 0 0 0 0 None 0 4096 Battery Voltage
10 9 - IHUTemp 0 0.1 0 0 0 0 None 0 4096 None
11 10 - Mode 0 1 0 0 0 0 None 0 4096 The spacecraft Mode
12 11 - FS_BYTES_PER_BLK 0 128 0 0 0 0 Counts 0 4096 The number of bytes per block in RED FS
13 12 - FS_FILE_NUMBER -4 1 0 0 0 0 Counts 0 4096 The number of files in the FS excluding core OS folders
14 13 - SHTC3Temp -45 0.002670288 0 0 0 0 None 0 4096 SHTC3 Temperature sensor
15 14 - SHTC3Humidity 0 0.001525879 0 0 0 0 None 0 4096 SHTC3 Humidity sensor
16 15 - LPS22Pressure 0 0.000244141 0 0 0 0 None 0 4096 LPS22 Pressure sensor
17 16 - LPS22Temp 0 0.01 0 0 0 0 None 0 4096 LPS22 Temperature of sensor
18 17 - IMUTemp 0 0.00390625 0 0 0 0 None 0 4096 Temperature of IMU = raw/256
19 18 - Acc 0 6.10E-05 0 0 0 0 Sint16 0 4096 Accelerometer is 2g full scale
20 19 - Gyro 0 0.000976563 0 0 0 0 Sint16 0 4096 Gyro scale for 32dps
21 20 - Mag 0 0.149975574 0 0 0 0 Sint16 0 4096 Mag is 4912 full scale
22 21 - AntMode 0 0 0 0 0 0 Enum 0 4096 MANUAL:AUTO:ORBIT
23 22 - ResetReason 0 0 0 0 0 0 Enum 0 4096 NONE:SHUTDOWN:REBOOT:RADIO:TNC:TNC LISTEN:RUN TWICE:RADIO REBOOT:TNC PS REBOOT:TNC REBOOT:SOFT:THERMAL
24 23 - LogLevel 0 0 0 0 0 0 Enum 0 4096 NONE:ERROR:WARN:INFO
25 24 - O2FromVolts 86.434 -0.0354 0 0 0 0 None 0 4096 O2 Conc from raw voltage as a percentage
26 25 - SensorState 0 0 0 0 0 0 Enum 0 4096 OFF:ON:ERR
27 26 - SPARE2 0 0 0 0 0 0 Counts 0 4096 SPARE
28 27 - O2Conc 0 0.01 0 0 0 0 Sint16 0 4096 O2 concentration as percentage
29 28 - SSTVMode 0 0 0 0 0 0 Enum 0 4096 MartinM1:MartinM2:ScottieS1:ScottieS2:Robot36:PasokonP3:PasokonP5:PasokonP7:PD90:PD120:PD160:PD180:PD240:PD290:Robot8BW:Robot24BW
30 29 - DivideBy100 0 0.01 0 0 0 0 None 0 4096 Divide by 100
31 30 - DivideBy100Offset -20.48 0.01 0 0 0 0 None 0 4096 Divide by 100 with Offset
32 31 - Offset -2048 1 0 0 0 0 Counts 0 4096 Offset
33 32 - DivideBy10Offset -204.8 0.1 0 0 0 0 None 0 4096 Divide by 10 with Offset
34 33 - Status 0 0 0 0 0 0 Enum 0 4096 OFF:ON
35 34 - CommandStatus 0 0 0 0 0 0 Enum 0 4096 OFF:Carrier:DTMF/APRS
36 35 - FailStatus 0 0 0 0 0 0 Enum 0 4096 OK:FAIL
37 36 - AntStatus 0 0 0 0 0 0 Enum 0 4096 STOWED:DEPLOYED
38 37 - Times10 0 10.0 0 0 0 0 Counts 0 4096 Multiply by 10
39 NOTES:
40 Serial Ignore name a b c d e f format low limit high limit Comment
41 Echo value = a + bx + cx^2 + dx^3 + ex^4 + fx^5 Echo value = a + bx + cx^2 + dx^3 + ex^4 + fx^5

@ -0,0 +1,37 @@
# This is a list of commands that can be sent to the spacecraft
# args are 16 bit except the special code 99099099 which is replaced with the unix time, or when special code MSB32BIT is used to combine two fields
LIST, namespaces, None, Operations, Telem, File System
LIST, IMAGE FOLDER, sstv_queue 1, sstv_queue 2, sstv_queue 3, sstv_queue 4, sstv_queue 5, sstv_queue 6, sstv_queue 7, sstv_queue 8, sstv_queue 9
LIST, FOLDER, bin, lib, config, PACSAT dir, upload queue, wod queue, log queue, text queue, sensor wod queue, data1, data2, data3, data4, data5, data6, data7, data8, data9
LIST, ENABLE, false, true
LIST, ROLL AT STARTUP, false, true
LIST, OVERWRITE, false, true
LIST, FSK, false, true
LIST, REMOVE ORPHAN FILES, false, true
LIST, STATE, stop, start
LIST, UPLINK MODE, Off, All stations, Command Stations Only
LIST, FILENAME, use id for file name, user file name
LIST, SHUTDOWN, reboot, shutdown
LIST, RESET, reboot
LIST, RATE, 1200, 9600
LIST, FEC, Off, On
LIST, FULL DUPLEX, false, true
LIST, LOG NAME, Log, WOD
LIST, LOG LEVEL, None, Error, Warnings, Info
# Name, Name space, cmd, arg0, arg1, arg2, arg3, argName0, argName1, argName2, argName3, confirm, use reset/uptime, description
#
# PACSAT
#
Pacsat Broadcast,3,1,0,0,0,0,State,Period(sec),Timeout(sec),NONE,false,false,Enable or disable the Pacsat Broadcast module. The directory entries and individual files will be broadcast based on commands from ground stations.
File Uploads,3,2,0,0,0,0,Uplink Mode,Period(sec),Timeout(sec),NONE,false,false,Enable or disable File Uploads. Limit file uploads to command stations that authenticate with a secret key.
Install File,3,3,0,0,0,0,FileId,MSB32BIT,Folder,NONE,false,false,Copy a file from the PACSAT Directory to a folder and name it with a 4 byte hex name that matches the id or the user filename.
Execute File,3,13,0,0,0,0,FileId,MSB32BIT,Arg1,Arg2,true,false,Execute a file on the ARISS-PI. The file must already be installed in the bin folder
Delete File,3,4,0,0,0,0,FileId,MSB32BIT,Folder,NONE,true,false,Delete a file on the ARISS-PI. Typically this leaves the original copy in the PACSAT dir. To delete the original copy specify the PACSAT Dir folder
Delete Folder Contents,3,5,0,0,0,0,Folder,Remove Orphan Files,NONE,NONE,true,false,Remove all files from the folder. The original files will remain in the PACSAT Directory unless deleted seperately. Orphan files are files in a folder without a corresponding Pacsat Dir file. NB: Deleting the entire Pacsat Dir is a desperate measure perhaps only useful in testing!
Default File Expiry Period,3,6,0,0,0,0,Period(days),NONE,NONE,NONE,false,false,Set the default expiry period for files without a specific expiry time. The new value will be applied to all files.
File Expiry Period,3,7,0,0,0,0,FileId,MSB32BIT,Date,MSB32BIT,false,false,Set the expiry date for a specific file`.
Directory Maintenence Period,3,8,0,0,0,0,Period(s),NONE,NONE,NONE,false,false,Period between checks to each node in the directory for file expiry.
Uplink queue maintenance Period,3,9,0,0,0,0,Period(s),NONE,NONE,NONE,false,false,Period to check the entire uplink queue for expired files.
Int File Que Check Period,3,10,0,0,0,0,Period(s),NONE,NONE,NONE,false,false,Period to check the ingestion queues for newly generated internal files.
Max File Size,3,11,0,0,0,0,Size(kb),NONE,NONE,NONE,false,false,Maximum size for an uploaded file
Max Upload File Age,3,12,0,0,0,0,Age(days),NONE,NONE,NONE,false,false,Partially uploaded files not modified for more than this period will be removed from the upload queue.

@ -0,0 +1,18 @@
#Pacsat Telemetry Decoder Properties
#Fri Feb 6 18:12:20 EST 2026
numberOfLookupTables=0
measurementsFileName=measurements.csv
model=1
layoutsUseToCallsignAsType=true
numberOfLayouts=2
layout0.filename=PacSatSim_rttelemetry.csv
layout0.name=TLMP1
layout1.filename=PacSatSim_rttelemetry.csv
layout1.name=WOD
passMeasurementsFileName=passmeasurements.csv
name=CubeSatSim
description=PacSatSim
satId=3
catalogNumber=0
conversionCoefficients=PacSatSim-coef.csv
layoutsUseBits=True

@ -0,0 +1,21 @@
#PacSat Ground Station Properties
#Fri Feb 6 18:25:06 EST 2026
sequence_num=3
name=PacSatSim
digiCallsign=AMSAT-1
description=PacSatSim
broadcastCallsign=AMSAT-11
DIR_AGE=10
bbsCallsign=AMSAT-12
telemLayoutFile=PacSatSim.dat
telem_server=tlm.amsatfox.org
web_site_url=http://CubeSatSim.org
show_system_files_on_dir_tab=false
show_user_files=true
supports_file_upload=true
norad_id=30776
psf_header_check_sums=false
is_command_station=true
secret_key=Not-required
commandsFile=PacSatSim.commands
echo_to_stdout=true

@ -0,0 +1,13 @@
CurveName,a,bx,cx^2,dx^3,ex^4,fx^5,Description
cubesatsim_voltage,0,0.01,0,0,0,0,Converts voltages read from the INA219 sensors
cubesatsim_current,-2048,1,0,0,0,0,Converts positive and negative currents read from the INA219 sensors
cubesatsim_temperature,0,0.1,0,0,0,0,Converts temperature of Pi
cubesatsim_rotation,-2048,1,0,0,0,0,Converts positive and negative dps rotation
cubesatsim_acceleration,-20.48,0.01,0,0,0,0,Converts positive and negative g acceleration
cubesatsim_altitude,0,0.1,0,0,0,0,Converts altitude
cubesatsim_pressure,0,1,0,0,0,0,Converts pressure
cubesatsim_sensor1,0,1,0,0,0,0,Conversion of Sensor 1
cubesatsim_sensor2,-2048,1,0,0,0,0,Conversion of Sensor 2
cubesatsim_sensor3,-20.48,0.01,0,0,0,0,Conversion of Sensor 3
cubesatsim_rpm,-204.8,0.1,0,0,0,0,Conversion of calculated RPM
cubesatsim_rssi,-2048,1,0,0,0,0,Conversion of Received Signal Strength
1 CurveName a bx cx^2 dx^3 ex^4 fx^5 Description
2 cubesatsim_voltage 0 0.01 0 0 0 0 Converts voltages read from the INA219 sensors
3 cubesatsim_current -2048 1 0 0 0 0 Converts positive and negative currents read from the INA219 sensors
4 cubesatsim_temperature 0 0.1 0 0 0 0 Converts temperature of Pi
5 cubesatsim_rotation -2048 1 0 0 0 0 Converts positive and negative dps rotation
6 cubesatsim_acceleration -20.48 0.01 0 0 0 0 Converts positive and negative g acceleration
7 cubesatsim_altitude 0 0.1 0 0 0 0 Converts altitude
8 cubesatsim_pressure 0 1 0 0 0 0 Converts pressure
9 cubesatsim_sensor1 0 1 0 0 0 0 Conversion of Sensor 1
10 cubesatsim_sensor2 -2048 1 0 0 0 0 Conversion of Sensor 2
11 cubesatsim_sensor3 -20.48 0.01 0 0 0 0 Conversion of Sensor 3
12 cubesatsim_rpm -204.8 0.1 0 0 0 0 Conversion of calculated RPM
13 cubesatsim_rssi -2048 1 0 0 0 0 Conversion of Received Signal Strength

@ -0,0 +1,63 @@
62,TYPE,FIELD,BITS,UNIT,CONVERSION,MODULE,MODULE_NUM,MODULE_LINE,LINE_TYPE,SHORT_NAME,DESCRIPTION
0,long,timestamp,32,Sec,0,NONE,0,0,0,timestamp,This is the unix time in seconds
1,int,Sensor 2,12,integer,2,Experiments,6,8,3,Sensor 2,STEM Payload Extra Sensor 2
2,int,Sensor 3,12,integer,2,Experiments,6,9,3,Sensor 3,STEM Payload Extra Sensor 3
3,float,BATT_V,12,V,29,Battery,4,1,3,Battery Voltage,INA219 Battery Voltage
4,float,SatelliteXAxisAcceleration,12,g,30,+X Panel,7,4,3,Acceleration,STEM Payload Board MPU6050 Acceleration around X Axis
5,float,SatelliteYAxisAcceleration,12,g,30,+Y Panel,8,4,3,Acceleration,STEM Payload Board MPU6050 Acceleration around Y Axis
6,float,SatelliteZAxisAcceleration,12,g,30,+Z Panel,9,4,3,Acceleration,STEM Payload Board MPU6050 Acceleration around Z Axis
7,int,BATT_I,12,mA,31,Battery,4,2,3,Battery Current,INA219 Battery Current
8,float,Temperature,12,C,5,Experiments,6,2,3,BME280 Temp,BME280 STEM Payload sensor temperature
9,float,posXv,12,V,29,+X Panel,7,1,3,Voltage,INA219 +X solar panel Voltage
10,float,posYv,12,V,29,+Y Panel,8,1,3,Voltage,INA219 +Y solar panel Voltage
11,float,posZv,12,V,29,+Z Panel,9,1,3,Voltage,INA219 +Z solar panel Voltage
12,float,negXv,12,V,29,-X Panel,10,1,3,Voltage,INA219 -X solar panel Voltage
13,float,negYv,12,V,29,-Y Panel,11,1,3,Voltage,INA219 -Y solar panel Voltage
14,float,negZv,12,V,29,-Z Panel,12,1,3,Voltage,INA219 -Z solar panel Voltage
15,int,posXi,12,mA,31,+X Panel,7,2,3,Current,INA219 +X solar panel Current
16,int,posYi,12,mA,31,+Y Panel,8,2,3,Current,INA219 +Y solar panel Current
17,int,posZi,12,mA,31,+Z Panel,9,2,3,Current,INA219 +Z solar panel Current
18,int,negXi,12,mA,31,-X Panel,10,2,3,Current,INA219 -X solar panel Current
19,int,negYi,12,mA,31,-Y Panel,11,2,3,Current,INA219 -Y solar panel Current
20,int,negZi,12,mA,31,-Z Panel,12,2,3,Current,INA219 -Z solar panel Current
21,float,BATT2_V,12,V,29,Battery2,5,1,3,Battery2 Voltage,INA219 Battery2 Voltage
22,float,spin,12,rpm,32,Computer Software,3,1,3,Spacecraft Spin,Calculated spin rate using solar cells
23,int,Pressure,12,hPa,2,Experiments,6,3,3,BME280 Pressure,BME280 STEM Payload sensor pressure
24,float,Altitude,12,m,37,Experiments,6,4,3,BME280 Altitude,BME280 STEM Payload sensor altitude
25,float,Resets,12,-,12,NONE,3,2,3,Reset Count, Software Reset Count
26,float,rssi,12,dBm,31,Radio,1,1,3,RSSI,Received Signal Strength Indication
27,float,IHUcpuTemp,12,C,5,Computer Hardware,2,1,3,IHU Temp (Pi),Internal temperature of IHU from Pi
28,float,SatelliteXAxisAngularVelocity,12,dps,31,+X Panel,7,3,3,Rotation,STEM Payload Board MPU6050 Angular veolcity around X Axis
29,float,SatelliteYAxisAngularVelocity,12,dps,31,+Y Panel,8,3,3,Rotation,STEM Payload Board MPU6050 Angular veolcity around Y Axis
30,float,SatelliteZAxisAngularVelocity,12,dps,31,+Z Panel,9,3,3,Rotation,STEM Payload Board MPU6050 Angular veolcity around Z Axis
31,float,Humidity,12,%,5,Experiments,6,5,3,BME280 Humidity,BME280 Humidity
32,int,BAT2_I,12,mA,31,Battery2,5,2,3,Battery2 Current,INA219 Battery2 Current
33,float,DiodeTemp,12,C,32,Experiments,6,6,3,Diode Temp,STEM Payload Diode Temperature
34,int,Sensor 1,12,integer,2,Experiments,6,7,3,Sensor 1,STEM Payload Extra Sensor 1
35,float,STEMPayloadStatus,1,-,35,Experiments,6,1,0,STEM Payload Status, STEM Payload STEM Payload board failure Indicator
36,float,SafeMode,1,-,33,Computer Software,3,2,0,Safe Mode, Safe Mode (Low Battery Voltage)
37,float,SimulatedTelemetry,1,-,33,Computer Software,3,4,0,Simulated Telemetry,Simulated Telemetry Indicator
38,float,PayloadStatus1,1,-,35,NONE,6,8,0,Exp 3,STEM Payload status 1 failure indicator
39,float,I2CBus0Failure,1,-,35,NONE,2,2,0,I2C Bus 0,I2C bus 0 failure indicator
40,float,I2CBus1Failure,1,-,35,Computer Hardware,2,2,0,I2C Bus 1,I2C bus 1 failure indicator
41,float,I2CBus3Failure,1,-,35,Computer Hardware,2,3,0,I2C Bus 3,I2C bus 3 failure indicator
42,float,CameraFailure,1,-,35,Computer Hardware,2,4,0,Camera,Camera failure indicator
43,int,GroundCommands,4,-,2,Computer Software,3,3,0,Ground Commands,Number of ground commands received
44,float,RxAntenna,1,-,36,Radio,1,3,0,RX Antenna,Receive antenna status
45,float,TxAntenna,1,-,36,Radio,1,2,0,TX Antenna,Transmit antenna status
46,float,C2CStatus,2,-,34,Computer Software,3,5,0,Command Control, Command & Control Status
47,float,ICR3VProt,12,V,0,NONE,7,2,3,3V Prot,ICR 3V Proteted
48,float,ICR2dot5V,12,V,0,NONE,7,3,3,2.5V,ICR 2.5V
49,float,ICR2dot5VProt,12,V,0,NONE,7,4,3,2.5V Prot,ICR 2.5V Protected
50,float,rf6,12,-,0,NONE,0,0,0,None,None
51,float,rf7,12,-,0,NONE,0,0,0,None,None
52,float,MuxTest,12,V,0,NONE,7,5,3,Sensor Power,Sensor Power Voltage at the ICR
53,float,LtVGACtl,12,V,0,NONE,1,4,3,VGA Control,Control Voltage to the Variable Gain Amplifier (VGA)
54,float,pad,4,-,34,NONE,0,0,0,None,Unused
55,float,IHUdiagData,32,-,18,NONE,3,2,0,Diagnostic Info,Diagnostic Data on IHU Performance
56,float,pad1,1,-,0,NONE,0,0,0,NONE,Filler
57,float,wodSize,8,000s,36,NONE,3,3,0,WOD Stored,Number of WOD data payloads kept for each of Science and Housekeeping. In hundreds
58,float,swCmds,32,-,35,NONE,7,6,0,Diagnostic,ICR Diagnostic information
59,float,hwCmdCnt,6,-,1,NONE,7,7,0,HW Command Count,Number of hardware commands since last reset
60,float,swCmdCnt,6,-,1,NONE,7,8,0,SW Command Count,Number of software commands since last reset
61,float,pad2,27,-,0,NONE,0,0,0,NONE,Filler
1 62 TYPE FIELD BITS UNIT CONVERSION MODULE MODULE_NUM MODULE_LINE LINE_TYPE SHORT_NAME DESCRIPTION
2 0 long timestamp 32 Sec 0 NONE 0 0 0 timestamp This is the unix time in seconds
3 1 int Sensor 2 12 integer 2 Experiments 6 8 3 Sensor 2 STEM Payload Extra Sensor 2
4 2 int Sensor 3 12 integer 2 Experiments 6 9 3 Sensor 3 STEM Payload Extra Sensor 3
5 3 float BATT_V 12 V 29 Battery 4 1 3 Battery Voltage INA219 Battery Voltage
6 4 float SatelliteXAxisAcceleration 12 g 30 +X Panel 7 4 3 Acceleration STEM Payload Board MPU6050 Acceleration around X Axis
7 5 float SatelliteYAxisAcceleration 12 g 30 +Y Panel 8 4 3 Acceleration STEM Payload Board MPU6050 Acceleration around Y Axis
8 6 float SatelliteZAxisAcceleration 12 g 30 +Z Panel 9 4 3 Acceleration STEM Payload Board MPU6050 Acceleration around Z Axis
9 7 int BATT_I 12 mA 31 Battery 4 2 3 Battery Current INA219 Battery Current
10 8 float Temperature 12 C 5 Experiments 6 2 3 BME280 Temp BME280 STEM Payload sensor temperature
11 9 float posXv 12 V 29 +X Panel 7 1 3 Voltage INA219 +X solar panel Voltage
12 10 float posYv 12 V 29 +Y Panel 8 1 3 Voltage INA219 +Y solar panel Voltage
13 11 float posZv 12 V 29 +Z Panel 9 1 3 Voltage INA219 +Z solar panel Voltage
14 12 float negXv 12 V 29 -X Panel 10 1 3 Voltage INA219 -X solar panel Voltage
15 13 float negYv 12 V 29 -Y Panel 11 1 3 Voltage INA219 -Y solar panel Voltage
16 14 float negZv 12 V 29 -Z Panel 12 1 3 Voltage INA219 -Z solar panel Voltage
17 15 int posXi 12 mA 31 +X Panel 7 2 3 Current INA219 +X solar panel Current
18 16 int posYi 12 mA 31 +Y Panel 8 2 3 Current INA219 +Y solar panel Current
19 17 int posZi 12 mA 31 +Z Panel 9 2 3 Current INA219 +Z solar panel Current
20 18 int negXi 12 mA 31 -X Panel 10 2 3 Current INA219 -X solar panel Current
21 19 int negYi 12 mA 31 -Y Panel 11 2 3 Current INA219 -Y solar panel Current
22 20 int negZi 12 mA 31 -Z Panel 12 2 3 Current INA219 -Z solar panel Current
23 21 float BATT2_V 12 V 29 Battery2 5 1 3 Battery2 Voltage INA219 Battery2 Voltage
24 22 float spin 12 rpm 32 Computer Software 3 1 3 Spacecraft Spin Calculated spin rate using solar cells
25 23 int Pressure 12 hPa 2 Experiments 6 3 3 BME280 Pressure BME280 STEM Payload sensor pressure
26 24 float Altitude 12 m 37 Experiments 6 4 3 BME280 Altitude BME280 STEM Payload sensor altitude
27 25 float Resets 12 - 12 NONE 3 2 3 Reset Count Software Reset Count
28 26 float rssi 12 dBm 31 Radio 1 1 3 RSSI Received Signal Strength Indication
29 27 float IHUcpuTemp 12 C 5 Computer Hardware 2 1 3 IHU Temp (Pi) Internal temperature of IHU from Pi
30 28 float SatelliteXAxisAngularVelocity 12 dps 31 +X Panel 7 3 3 Rotation STEM Payload Board MPU6050 Angular veolcity around X Axis
31 29 float SatelliteYAxisAngularVelocity 12 dps 31 +Y Panel 8 3 3 Rotation STEM Payload Board MPU6050 Angular veolcity around Y Axis
32 30 float SatelliteZAxisAngularVelocity 12 dps 31 +Z Panel 9 3 3 Rotation STEM Payload Board MPU6050 Angular veolcity around Z Axis
33 31 float Humidity 12 % 5 Experiments 6 5 3 BME280 Humidity BME280 Humidity
34 32 int BAT2_I 12 mA 31 Battery2 5 2 3 Battery2 Current INA219 Battery2 Current
35 33 float DiodeTemp 12 C 32 Experiments 6 6 3 Diode Temp STEM Payload Diode Temperature
36 34 int Sensor 1 12 integer 2 Experiments 6 7 3 Sensor 1 STEM Payload Extra Sensor 1
37 35 float STEMPayloadStatus 1 - 35 Experiments 6 1 0 STEM Payload Status STEM Payload STEM Payload board failure Indicator
38 36 float SafeMode 1 - 33 Computer Software 3 2 0 Safe Mode Safe Mode (Low Battery Voltage)
39 37 float SimulatedTelemetry 1 - 33 Computer Software 3 4 0 Simulated Telemetry Simulated Telemetry Indicator
40 38 float PayloadStatus1 1 - 35 NONE 6 8 0 Exp 3 STEM Payload status 1 failure indicator
41 39 float I2CBus0Failure 1 - 35 NONE 2 2 0 I2C Bus 0 I2C bus 0 failure indicator
42 40 float I2CBus1Failure 1 - 35 Computer Hardware 2 2 0 I2C Bus 1 I2C bus 1 failure indicator
43 41 float I2CBus3Failure 1 - 35 Computer Hardware 2 3 0 I2C Bus 3 I2C bus 3 failure indicator
44 42 float CameraFailure 1 - 35 Computer Hardware 2 4 0 Camera Camera failure indicator
45 43 int GroundCommands 4 - 2 Computer Software 3 3 0 Ground Commands Number of ground commands received
46 44 float RxAntenna 1 - 36 Radio 1 3 0 RX Antenna Receive antenna status
47 45 float TxAntenna 1 - 36 Radio 1 2 0 TX Antenna Transmit antenna status
48 46 float C2CStatus 2 - 34 Computer Software 3 5 0 Command Control Command & Control Status
49 47 float ICR3VProt 12 V 0 NONE 7 2 3 3V Prot ICR 3V Proteted
50 48 float ICR2dot5V 12 V 0 NONE 7 3 3 2.5V ICR 2.5V
51 49 float ICR2dot5VProt 12 V 0 NONE 7 4 3 2.5V Prot ICR 2.5V Protected
52 50 float rf6 12 - 0 NONE 0 0 0 None None
53 51 float rf7 12 - 0 NONE 0 0 0 None None
54 52 float MuxTest 12 V 0 NONE 7 5 3 Sensor Power Sensor Power Voltage at the ICR
55 53 float LtVGACtl 12 V 0 NONE 1 4 3 VGA Control Control Voltage to the Variable Gain Amplifier (VGA)
56 54 float pad 4 - 34 NONE 0 0 0 None Unused
57 55 float IHUdiagData 32 - 18 NONE 3 2 0 Diagnostic Info Diagnostic Data on IHU Performance
58 56 float pad1 1 - 0 NONE 0 0 0 NONE Filler
59 57 float wodSize 8 000s 36 NONE 3 3 0 WOD Stored Number of WOD data payloads kept for each of Science and Housekeeping. In hundreds
60 58 float swCmds 32 - 35 NONE 7 6 0 Diagnostic ICR Diagnostic information
61 59 float hwCmdCnt 6 - 1 NONE 7 7 0 HW Command Count Number of hardware commands since last reset
62 60 float swCmdCnt 6 - 1 NONE 7 8 0 SW Command Count Number of software commands since last reset
63 61 float pad2 27 - 0 NONE 0 0 0 NONE Filler

@ -0,0 +1,14 @@
[Unit]
Description=PacsatSim
[Service]
TimeoutStopSec=5
ExecStart=/home/pi/CubeSatSim/pacsatsim.sh
WorkingDirectory=/home/pi/CubeSatSim
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi
[Install]
WantedBy=default.target

@ -8,7 +8,7 @@ WorkingDirectory=/home/pi/CubeSatSim
StandardOutput=inherit
StandardError=inherit
Restart=always
User=root
User=pi
[Install]
WantedBy=default.target

@ -30,6 +30,9 @@ int main(int argc, char *argv[]) {
strcat(pythonConfigStr, " s");
char cmdbuffer[1000];
FILE *file2 = sopen(pythonVenv); // activate venv
FILE *file1 = sopen(pythonConfigStr); // try new function
fgets(cmdbuffer, 1000, file1);
if (debug == ON)

@ -1,7 +1,5 @@
#!/usr/bin/env python
import RPi.GPIO as GPIO
from RPi.GPIO import output
#import subprocess
import time
from time import sleep
@ -15,44 +13,36 @@ import random
import subprocess
def output(pin, value):
if (pin != 20):
command = "gpio -g write " + str(pin) + " " + str(value)
system(command)
print(command)
else: # ptt pin
GPIO.output(pin, value)
command = "gpio -g write " + str(pin) + " " + str(value)
system(command)
print(command)
def input(pin):
# command = "gpio -g read " + str(pin)
query = ["gpio", "-g", "read", str(pin)] # Read GPIO pin
command = "gpio -g read " + str(pin)
try:
result = subprocess.run(query, capture_output=True, text=True, check=True)
print(f"Command run was: {query}")
print("Sucess!")
print(f"Output of the command (stdout): {result.stdout}")
# print(f"Command run was: {query}")
# print("Sucess!")
# print(f"Output of the command (stdout): {result.stdout}")
# print(f"{command}: {result.stdout}")
return int(result.stdout)
except subprocess.CalledProcessError as e:
print(f"Command failed with return code: {e.returncode}")
print(f"Command run was: {e.cmd}")
print(f"Output of the command (stdout): {e.stdout}")
print(f"Error output of the command (stderr): {e.stderr}")
# print(f"Command failed with return code: {e.returncode}")
# print(f"Command run was: {e.cmd}")
# print(f"Output of the command (stdout): {e.stdout}")
# print(f"Error output of the command (stderr): {e.stderr}")
print(f"{command}: -1")
return -1
def setup(pin, config):
if config == "in" or config == "out" or config == "up" or config == "down":
if (pin != 20):
command = "gpio -g mode " + str(pin) + " " + config
system(command)
print(command)
else: # ptt pin
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
if config == "out:
GPIO.setup(27, GPIO.OUT)
else:
GPIO.setup(27, GPIO.IN)
command = "gpio -g mode " + str(pin) + " " + config
system(command)
print(command)
else:
print(f"Unknown GPIO setup configuration: {config}")
print(f"Unknown gpio setup configuration: {config}")
def blink(times):
powerPin = 16
@ -161,11 +151,9 @@ def increment_mode():
file.close()
print(".mode file written")
# GPIO.setwarnings(False)
output(txLed, 0)
output(powerPin, 0)
print("sudo reboot -h now")
# GPIO.setwarnings(False)
setup(powerPin, "out")
output(powerPin, 0);
# system("reboot -h now")
@ -218,7 +206,7 @@ def camera_photo():
img = Image.open(file)
draw = ImageDraw.Draw(img)
# draw.text((10, 10), callsign, font=font2, fill='white')
# draw.text((120, 10), telem_string, font=font2, fill='white')
# draw.text((120, 10), telem_string, font=font2, fill='white')
draw.text((12, 12), callsign, font=font1, fill='black')
draw.text((10, 10), callsign, font=font1, fill='white')
draw.text((112, 12), telem_string, font=font2, fill='black') # was 122
@ -240,8 +228,6 @@ powerPin = 16
command_tx = True
# GPIO.setmode(GPIO.BCM)
# GPIO.setwarnings(False)
setup(13, "up")
setup(12, "up")
setup(27, "up")
@ -257,28 +243,22 @@ if input(12) == False:
else:
print("No LPF")
# GPIO.setup(txLed, GPIO.OUT)
# output(txLed, 0)
# GPIO.setmode(GPIO.BCM) # Repeat to make LED work on Pi 4
# GPIO.setwarnings(False)
setup(txLed, "out")
setup(pd, "out")
#output(pd, 1)
output(pd, 0)
setup(ptt, "out")
output (ptt, 1)
output(ptt, 1)
txc = False
if input(txc_pin) == False:
print("TXC is present")
txc = True;
txc = True
else:
print("TXC not present")
# txc = False # forcing it off
# False # forcing it off
output(txLed, 1)
sleep(1)
output(txLed, 0)
@ -287,8 +267,6 @@ battery_saver_check()
# print(1)
print(txLed)
# GPIO.setup(27, GPIO.OUT)
# GPIO.output(27, 0)
debug_mode = 0 # change to 1 to debug transmit
@ -319,7 +297,7 @@ if __name__ == "__main__":
print("Pi Zero 2 not detected")
try:
system("cat /proc/uptime > /home/pi/CubeSatSim/uptime")
system("sudo cat /proc/uptime > /home/pi/CubeSatSim/uptime")
file = open("/home/pi/CubeSatSim/uptime")
up = file.read().split(" ")[0]
print(up)
@ -357,6 +335,9 @@ if __name__ == "__main__":
print("Can't open beacon_off file, defaulting to False")
print("Command_tx: ")
print(command_tx)
if (mode != "p") or (command_tx == False):
system("sudo systemctl stop pacsatsim")
try:
file = open("/home/pi/CubeSatSim/command_count.txt", "r")
@ -394,18 +375,6 @@ if __name__ == "__main__":
sim_config = True
print("Simulated telemetry mode is configured")
else:
# query = ["timeout", "2", "i2cdetect", "-y", "3"] # Test if Solar board is present
# try:
# result = subprocess.run(query, capture_output=True, text=True, check=True)
# print(f"Command run was: {query}")
# print("Sucess!")
# print(f"Output of the command (stdout): {result}")
# except subprocess.CalledProcessError as e:
# print(f"Command failed with return code: {e.returncode}")
# print(f"Command run was: {e.cmd}")
# print(f"Output of the command (stdout): {e.stdout}")
# print(f"Error output of the command (stderr): {e.stderr}")
try:
if path.isfile("/home/pi/CubeSatSim/sim_mode_auto"):
print("Simulated telemetry mode automatically turned on!")
@ -414,11 +383,10 @@ if __name__ == "__main__":
except:
if (debug_mode == 1):
print("/home/pi/CubeSatSim/sim_mode_auto not found")
if len(config) > 5:
sq = config[5]
if (mode == 'p') or (mode == 'P'):
sq = 0 # turn off squelch for Pacsat
print(sq)
if len(config) > 5:
if (mode != 'p') and (mode != 'P'): # squelch off for Pacsat
sq = config[5]
print(f'squelch: {sq}')
if len(config) > 6:
txf = float(config[6])
if (mode == 'e'):
@ -468,29 +436,23 @@ if __name__ == "__main__":
no_command = True
try:
f = open("/home/pi/CubeSatSim/command_control", "r")
no_command = False
f.close()
# GPIO.setmode(GPIO.BCM)
# GPIO.setwarnings(False)
setup(squelch, "up") ## pull up in case pin is not connected
if input(squelch) == False:
print("squelch not set correctly, no command input!")
else:
if (mode != 'n') and (mode != 'x'):
print("command and control is activated")
no_command = False
system("sudo systemctl start command")
else:
print("Command and control not activated since Transmit Commands mode")
txc = True # Transmit commands only works with FM transceiver, so bypass Battery Saver if activated
# setup(squelch, "up") ## pull up in case pin is not connected
# if input(squelch) == False:
# print("squelch not set correctly, no command input!")
# else:
# if (mode != 'n') and (mode != 'x'):
# print("command and control is activated")
# no_command = False
# system("sudo systemctl start command")
# else:
# print("Command and control not activated since Transmit Commands mode")
# txc = True # Transmit commands only works with FM transceiver, so bypass Battery Saver if activated
except:
print("command and control not activated")
print(callsign)
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi 4
# print(txLed)
# print(1)
# setup(txLed, "out")
query = ["grep", "VERSION_CODENAME=bullseye", "/etc/os-release"]
try:
@ -557,9 +519,7 @@ if __name__ == "__main__":
if (hab_mode == True) and (mode == 'a'):
print("Don't transmit CW ID since APRS HAB mode is active")
else:
if (((mode == 'a') or (mode == 'b') or (mode == 'f') or (mode == 's') or (mode == 'j')) and (command_tx == True) and (skip == False)) or ((mode == 'e') and (command_tx == True)): # battery_saver_mode
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi Zero 2 and Pi 4
# setup(txLed, "out")
if (((mode == 'a') or (mode == 'b') or (mode == 'f') or (mode == 's') or (mode == 'j') or (mode == 'p') or (mode == 'P')) and (command_tx == True) and (skip == False)) or ((mode == 'e') and (command_tx == True)): # battery_saver_mode
output(txLed, 1)
print("Transmit CW ID")
status = ""
@ -583,14 +543,57 @@ if __name__ == "__main__":
# if (len(sys.argv)) > 1:
# print("There are arguments!")
if (mode == 'a') or (mode == 'x') or (mode == 'n'):
if (mode == 'a') or (mode == 'x') or (mode == 'n') or (mode == 'p') or (mode == 'P'):
# command_control_check()
output(pd, 1)
output(ptt, 1)
if (mode == 'a'):
print("AFSK")
elif (mode == 'p') or (mode == 'P'):
if (mode == 'P'):
print("Pacsat Ground Station")
else:
print("Pacsat")
if (command_tx == True):
system("sudo systemctl restart pacsatsim")
print("Starting PacSatSim")
output(txLed, 0)
print("0")
rpitx = "arecord -D plughw:CARD=Loopback,DEV=1 -f S16_LE -r 48000 -c 1 | csdr convert_s16_f | csdr gain_ff 4000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f " + tx + "e3 > /dev/null 2>&1 &"
stop_rpitx = "sudo killall -9 rpitx && sudo killall -9 arecord && sudo rpitx -m RF -f 434.9e3 > /dev/null 2>&1"
if not txc:
print("txc is:")
print(txc)
system(stop_rpitx)
system(rpitx)
print("Safe Mode!!")
while (True):
if (txc):
sleep(0.1)
while (input(ptt) != 0):
sleep(0.2)
output(txLed, 1)
# print("1")
while (input(ptt) != 1):
sleep(0.2)
output(txLed, 0)
# print("0")
else:
# sleep(0.1)
while (input(17) == 0):
sleep(0.05)
## system(rpitx)
output(txLed, 1)
# print("1")
while (input(17) == 1):
sleep(0.05)
## system(stop_rpitx)
output(txLed, 0)
# print("0")
# sleep(10)
else:
# GPIO.output(powerPin, 0)
print("Transmit APRS Commands")
system("sudo systemctl stop command")
# while True:
@ -607,8 +610,6 @@ if __name__ == "__main__":
system("gen_packets -o /home/pi/CubeSatSim/telem.wav /home/pi/CubeSatSim/t.txt -r 48000 > /dev/null 2>&1")
system("cat /home/pi/CubeSatSim/t.txt")
if (command_tx == True):
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi Zero 2 and Pi 4
# setup(txLed, "out")
output(txLed, 1)
# output(pd, 1)
# output (ptt, 0)
@ -621,7 +622,7 @@ if __name__ == "__main__":
sleep(0.1) # add delay before transmit
output (ptt, 0)
sleep(0.3) # add even more time at start
system("aplay -D plughw:CARD=" + card + ",DEV=0 /home/pi/CubeSatSim/telem.wav")
system("aplay -D plughw:CARD=" + card + ",DEV=0 /home/pi/CubeSatSim/telem.wav")
sleep(0.2) # add more time at end
output (ptt, 1)
# output(pd, 0)
@ -665,8 +666,6 @@ if __name__ == "__main__":
system(command)
## chan = chan + 1
if (command_tx == True):
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi Zero 2 and Pi 4
# setup(txLed, "out")
output(txLed, 1)
if (txc):
@ -682,7 +681,7 @@ if __name__ == "__main__":
if (debug_mode == 1):
system("cat /home/pi/CubeSatSim/morse.wav | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f " + tx + "e3")
else:
system("cat /home/pi/CubeSatSim/morse.wav | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f " + tx + "e3 > /dev/null 2>&1")
system("cat /home/pi/CubeSatSim/morse.wav | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f " + tx + "e3 > /dev/null 2>&1")
output(txLed, 0)
# command_control_check()
@ -705,7 +704,7 @@ if __name__ == "__main__":
if os_status == "bookworm":
system("rpicam-still -o /home/pi/CubeSatSim/camera_out.jpg --width 320 --height 256") # > /dev/null 2>&1")
else:
system("raspistill -o /home/pi/CubeSatSim/camera_out.jpg -w 320 -h 256")
system("raspistill -o /home/pi/CubeSatSim/camera_out.jpg -w 320 -h 256")
f = open("/home/pi/CubeSatSim/camera_out.jpg")
f.close()
print("Camera present")
@ -729,8 +728,6 @@ if __name__ == "__main__":
if (command_tx == True):
print ("Sending SSTV image")
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi Zero 2 and Pi 4
# setup(txLed, "out")
output(txLed, 1)
# battery_saver_check()
@ -762,8 +759,6 @@ if __name__ == "__main__":
if (command_tx == True):
print ("Sending SSTV image")
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi Zero 2 and Pi 4
# setup(txLed, "out")
output(txLed, 1)
# battery_saver_check()
@ -800,8 +795,6 @@ if __name__ == "__main__":
if (command_tx == True):
print ("Sending SSTV image")
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi Zero 2 and Pi 4
# setup(txLed, "out")
output(txLed, 1)
# battery_saver_check()
@ -838,8 +831,6 @@ if __name__ == "__main__":
if (command_tx == True):
print ("Sending SSTV image")
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi Zero 2 and Pi 4
# setup(txLed, "out")
output(txLed, 1)
# battery_saver_check()
@ -869,8 +860,6 @@ if __name__ == "__main__":
if (command_tx == True):
# command_control_check()
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi Zero 2 and Pi 4
# setup(txLed, "out")
output(txLed, 1)
# battery_saver_check()
@ -899,9 +888,6 @@ if __name__ == "__main__":
print("turn on FM rx")
output(pd, 1)
output(ptt, 1)
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi 4
# setup(txLed, "out")
if (command_tx == True):
# system("sudo nc -l 8080 | csdr convert_i16_f | csdr fir_interpolate_cc 2 | csdr dsb_fc | csdr bandpass_fir_fft_cc 0.002 0.06 0.01 | csdr fastagc_ff | sudo /home/pi/rpitx/sendiq -i /dev/stdin -s 96000 -f 434.9e6 -t float &")
@ -920,11 +906,7 @@ if __name__ == "__main__":
# command_control_check()
if (command_tx == True):
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi Zero 2 and Pi 4
# setup(txLed, "out")
output(txLed, 1)
# print(txLed)
# print(1)
if (mode == 'b'):
sleep(4.2)
@ -960,11 +942,7 @@ if __name__ == "__main__":
print("turn on FM rx")
output(pd, 1)
output(ptt, 1)
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi 4
# setup(txLed, "out")
# GPIO.setup(powerPin, GPIO.OUT)
setup(squelch, "up") ## pull up in case pin is not connected
# GPIO.output(powerPin, 1) # was 0
# txf = float(tx) - 288.9
# print("Transmit frequency: ",txf)
if (command_tx != True):
@ -974,10 +952,8 @@ if __name__ == "__main__":
while True:
if (input(squelch) == False) and (command_tx == True):
print("Carrier detected, starting repeater")
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi Zero 2 and Pi 4
# setup(txLed, "out")
output(txLed, 1)
system("sudo nc -l 8011 | csdr convert_i16_f | csdr gain_ff 16000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f " + tx + "e3 > /dev/null 2>&1 &")
system("sudo nc -l 8011 | csdr convert_i16_f | csdr gain_ff 4000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f " + tx + "e3 > /dev/null 2>&1 &")
sleep(0.5)
system("sudo arecord -D shared_mic -r48000 -fS16_LE -c1 | nc localhost 8011 &")
while (input(squelch) == False):
@ -999,9 +975,6 @@ if __name__ == "__main__":
output(pd, 1)
output(ptt, 1)
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi 4
# setup(txLed, "out")
if (command_tx == True):
system("sudo nc -l 8080 | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f " + tx + "e3 &")
print("Turning LED on/off and listening for carrier")
@ -1014,11 +987,7 @@ if __name__ == "__main__":
# output(txLed, 0)
# command_control_check()
if (command_tx == True):
# GPIO.setmode(GPIO.BCM) # added to make Tx LED work on Pi Zero 2 and Pi 4
# setup(txLed, "out")
output(txLed, 1)
# print(txLed)
# print(1)
sleep(4.2)
else:
print("No Low Pass Filter so no telemetry transmit. See http://cubesatsim.org/wiki for instructions on how to build the LPF.")

Loading…
Cancel
Save

Powered by TurnKey Linux.