Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1114 commits
Select commit Hold shift + click to select a range
b596356
fixed unit test for clear move
May 10, 2021
edb1208
hotfix: appointment bugs and console spam
May 10, 2021
4b08f9d
hotfix: removed calibration offset
May 10, 2021
32fcfc3
Merge branch 'Development' into stop-movement-error-checking
May 10, 2021
2be64f7
Merge pull request #421 from YCPRadioTelescope/Development
pdnelson May 12, 2021
0e0360b
Changed Hz to kHz on the ControlForm frequency label and input tool-tip
tfranks31 Sep 21, 2021
edba84c
Added BlobParser Function
andersonjackc Sep 22, 2021
3d91cd2
Added a tool-tip to notify the user that the connection to the produc…
Bkearney1 Sep 13, 2021
a92a33c
Update .gitignore
andersonjackc Sep 23, 2021
b19f4da
The move by x degrees function works in some cases, but not others. I…
Bkearney1 Sep 23, 2021
2ec88c9
Changed delimiter from - to $
andersonjackc Sep 23, 2021
49ee9ce
Disabled finalizeSettingsButton on startScan click and enabled on sto…
tfranks31 Sep 27, 2021
14b9bf0
Added azimuth and elevation calculations to relative move
Bkearney1 Sep 29, 2021
65b0fa6
Merge pull request #431 from YCPRadioTelescope/move_by_x_degrees_issu…
DanPalm5 Sep 29, 2021
688767a
Revert "Move by x degrees issue379"
DanPalm5 Sep 29, 2021
d330d29
Merge pull request #432 from YCPRadioTelescope/revert-431-move_by_x_d…
DanPalm5 Sep 29, 2021
9ab4fb7
Script now releases control of telescope. Speed of RPM 0.6 was tested…
Bkearney1 Sep 30, 2021
82c39fe
Fixed movement scripts saying error when they succeeded. Final position
CRPWDev Sep 30, 2021
e05e7ad
Merge pull request #434 from YCPRadioTelescope/script-movement-errors
DanPalm5 Sep 30, 2021
50ad97a
Update README.md
DanPalm5 Oct 1, 2021
ab49ca4
Merge pull request #436 from YCPRadioTelescope/disable-edit-settings-…
DanPalm5 Oct 2, 2021
dd93821
Merge pull request #435 from YCPRadioTelescope/Hz-to-kHz
DanPalm5 Oct 2, 2021
5617dfe
Fixed the CR thinking the telescope was still moving after an estop w…
CRPWDev Oct 2, 2021
adb45c1
Merge pull request #438 from YCPRadioTelescope/estop-mvmt-errors
DanPalm5 Oct 2, 2021
d95af3e
Initial progress on hardware mvmt script. All movements succeed with …
CRPWDev Oct 2, 2021
fbef24d
Normalized azimuth between 0-60 degrees. Ready for pull request
Bkearney1 Oct 2, 2021
1b464ef
On closing the RT control form, the call to EndAppointment() is now d…
Bkearney1 Oct 2, 2021
55c39c2
Change x,y,z acceleration value from Double to Int
andersonjackc Oct 5, 2021
e34e3a7
Adding Acceleration Blob Constants
andersonjackc Oct 5, 2021
a1f2e71
Update how Acceleration Data is Blobbed together as well as parsed
andersonjackc Oct 5, 2021
d292a0e
Completed hardware movement script implementation with 8 total moveme…
CRPWDev Oct 7, 2021
a774be6
Fixed movement 1 being 90 degrees instead of a 180 degree rotation
CRPWDev Oct 7, 2021
20fa77c
Changed bandwidth step from 15 kHz to 5 kHz
tfranks31 Oct 9, 2021
137cae9
Addded check for stow movement failure
Bkearney1 Oct 12, 2021
3a0366d
Added tests for movebyxdegrees
Bkearney1 Oct 12, 2021
a7dfbd1
Added edge case handling for moving azimuth to 0 or 360
CRPWDev Oct 13, 2021
65b94a1
Merge pull request #444 from YCPRadioTelescope/spectraCyber-bandwidth…
DanPalm5 Oct 16, 2021
6db7c80
Added TODOs for remoteListener class regarding new implementation for…
YCPjsteck Oct 18, 2021
e1052e7
remove extraneous auto-generated code
Bkearney1 Oct 18, 2021
323a3d2
remove whitespace
Bkearney1 Oct 18, 2021
596df99
remove whitespace and extraneous auto-generated code
Bkearney1 Oct 18, 2021
0fbc57c
Modified the Enum values from being hardcoded
andersonjackc Oct 20, 2021
9a197c6
Updated tests as per Acceleration Blob and Enum changes
andersonjackc Oct 20, 2021
a2d6bd6
Merge pull request #442 from YCPRadioTelescope/hardware-mvmt-script
DanPalm5 Oct 20, 2021
b1ad444
Added more TODOS to RemoteListener
YCPjsteck Oct 21, 2021
c7e3115
Merge branch 'Development' into fix_create_prod_ws_button
DanPalm5 Oct 25, 2021
6dc0ea5
Merge pull request #439 from YCPRadioTelescope/fix_create_prod_ws_button
DanPalm5 Oct 25, 2021
afe3c1e
Merge pull request #440 from YCPRadioTelescope/RTControlForm_close_on…
DanPalm5 Oct 25, 2021
3c69bea
Merge branch 'Development' into move_by_x_degrees_issue379
DanPalm5 Oct 25, 2021
c4ac9a6
Merge pull request #441 from YCPRadioTelescope/move_by_x_degrees_issu…
DanPalm5 Oct 25, 2021
75510d2
Began overhaul of RemoteListener class. ProcessMessage now returns a …
DanPalm5 Oct 26, 2021
a3fb90c
Merge branch 'Development' into mobile-communication
DanPalm5 Oct 26, 2021
22ad866
Added RTController routine to encompass the hardware movement script.…
DanPalm5 Oct 26, 2021
c6bc3a7
changed abstractplcdriver to accept 5 arguments for a RelativeMove()
Bkearney1 Oct 27, 2021
38dd657
fixed test for movebyxdegrees
Bkearney1 Oct 27, 2021
b942bb8
Merge pull request #448 from YCPRadioTelescope/move_by_x_degrees_issu…
DanPalm5 Oct 27, 2021
03e2336
Added communication constants to be used in coordination with RemoteL…
YCPjsteck Oct 28, 2021
bcf33c2
Added TCPCommunicationResult class along with a ParseTCPCommandResult…
YCPjsteck Oct 28, 2021
41456f6
Removed and readded the InvalidMovement MovementResult enum as it was…
YCPjsteck Oct 28, 2021
a38e0a1
Massive overhaul of remoteListener. ProcessMessage now returns a TCPC…
YCPjsteck Oct 28, 2021
25505f2
Massive overhaul of remoteListener. ProcessMessage now returns a TCPC…
DanPalm5 Oct 28, 2021
67d2fda
Merge branch 'mobile-communication' of https://github.com/YCPRadioTel…
YCPjsteck Oct 28, 2021
d2390ab
Added communication constants
DanPalm5 Oct 28, 2021
6f4cffa
Readd a Thread.Sleep to MCUManager::MovementMonitor
YCPjsteck Oct 29, 2021
00c4b99
Merge pull request #449 from YCPjsteck/sim-erroneous-controlled-stop-fix
DanPalm5 Oct 31, 2021
9d44ff9
Created new constants inside TCPCommuncation constants
DanPalm5 Oct 31, 2021
bdc208e
Continued overhaul of class
DanPalm5 Oct 31, 2021
4d8a9bf
Hotfix incorrect param length check for sensor overrides, relative mo…
DanPalm5 Oct 31, 2021
bcfdddb
Fix error setting Orientation_Move params
DanPalm5 Nov 1, 2021
6d53eb9
Update Simulation_control_pannel.cs
DanPalm5 Nov 1, 2021
adaeb73
Account for az el move edge case
DanPalm5 Nov 1, 2021
aa6edf4
Abstraction of Acceleration Blobs
andersonjackc Nov 2, 2021
e55abc0
Refactoring due to Acceleration Blob Abstraction
andersonjackc Nov 2, 2021
890260a
Constants, New Enums and Objects, and enum changes
DanPalm5 Nov 4, 2021
9cf5915
RemoteListener overhaul part 3
DanPalm5 Nov 4, 2021
3658742
Added Vector Value to Acceleration Blob Parsing method
andersonjackc Nov 4, 2021
e08ccb9
Added semicolons...
andersonjackc Nov 4, 2021
9a9a761
Add debug output to RemoteListener
DanPalm5 Nov 5, 2021
e276a3a
add error checking to script running
DanPalm5 Nov 8, 2021
3e1bbc8
Merge branch 'Development' into mobile-communication
DanPalm5 Nov 8, 2021
b3888b1
fix missing }
DanPalm5 Nov 8, 2021
d25846d
Slight change to AccelerationBlob
andersonjackc Nov 9, 2021
7a74e94
Commented out DB Test
andersonjackc Nov 9, 2021
8987817
Update AccelerationBlobTest.cs
andersonjackc Nov 9, 2021
a382213
Update to VS?
andersonjackc Nov 10, 2021
ad4f671
Removed unneeded Constants
andersonjackc Nov 10, 2021
ef1580e
Updated function calls
andersonjackc Nov 10, 2021
7033cfb
Added Blobber function
andersonjackc Nov 10, 2021
603f4df
Update to Abstract classes required for sending to DB
andersonjackc Nov 10, 2021
520e5b5
Update to Blob tests
andersonjackc Nov 10, 2021
6712db2
Select from AccBlob tables by time
andersonjackc Nov 10, 2021
1b81953
Error checking & Writebacks
DanPalm5 Nov 14, 2021
dd87d4a
Add ETA functions for script, relative & absolute moves
DanPalm5 Nov 14, 2021
b547226
added current appointment to diagnostics form
Bkearney1 Nov 15, 2021
804bd9f
Refactored GetAccelerationFromBytes() to accomodate the time stamps b…
tfranks31 Nov 16, 2021
046643b
Swap position of end time & start time box
Bkearney1 Nov 16, 2021
74e63d4
Fix inability to receive back to back commands
DanPalm5 Nov 16, 2021
890ac78
Add writeback to client with ETA for coordinate and relative move
DanPalm5 Nov 16, 2021
d3d65c1
Merge branch 'Development' into acceleration-blob
andersonjackc Nov 16, 2021
487dda5
Adding some documentation
andersonjackc Nov 16, 2021
43602ac
Merge pull request #456 from YCPRadioTelescope/acceleration-blob
DanPalm5 Nov 17, 2021
c2379f3
Add new constants & enum values for REQUEST command
DanPalm5 Nov 18, 2021
74453f0
Add support for request command
DanPalm5 Nov 18, 2021
474679a
Update TCPCommunicationConstants.cs
DanPalm5 Nov 18, 2021
bd1ba94
Merge branch 'Development' into appointment_bugfix_issue419
DanPalm5 Nov 18, 2021
ee488c0
Merge pull request #457 from YCPRadioTelescope/appointment_bugfix_iss…
DanPalm5 Nov 18, 2021
e38ac67
Fix invalid SENSOR_INIT data length
DanPalm5 Nov 19, 2021
57d2768
Add VERSIONS_LIST to TCPCommConstants
DanPalm5 Nov 19, 2021
2a7a90f
Fix incorrect parseTCPCommandResults being returned
DanPalm5 Nov 19, 2021
c1cb51f
Add validation for version & request
DanPalm5 Nov 19, 2021
6347ca5
50 new unit tests for RemoteListener
DanPalm5 Nov 19, 2021
a4c21b7
Updated CalcDataSize() to accomodate for acceleration timestamps and …
tfranks31 Nov 19, 2021
0a0c047
Added Add64BitValueToByteArray() for sending 64-bit values
tfranks31 Nov 19, 2021
191c3a7
Merge pull request #459 from YCPRadioTelescope/360-and-0-errors
DanPalm5 Nov 19, 2021
c83f19d
Updated CalcDataSize() and EncodeRawData() to reflect acceleration pa…
tfranks31 Nov 20, 2021
f1726d8
Updated .snp files for accelerometer packet testing
tfranks31 Nov 20, 2021
0da320f
Added field on MainForm that passes the RemoteListener to the Control…
Bkearney1 Nov 23, 2021
9696699
Updated acceleration timestamps to be generated based on the connecti…
tfranks31 Nov 27, 2021
e13e088
Add documentation and fix minor syntactical errors for RemoteListener
DanPalm5 Nov 29, 2021
1cba159
Make additional changes to the hidden 20 conversations git didnt show…
DanPalm5 Nov 29, 2021
17e1b0a
Merge pull request #458 from YCPRadioTelescope/mobile-communication
DanPalm5 Nov 30, 2021
135341e
Merge branch 'Development' into RemoteListenerPort_Issue350
Bkearney1 Dec 1, 2021
4c9c5e2
Added timeout threshold for appointments failing due to timeout. Will…
CRPWDev Dec 1, 2021
124d028
Added back default value for Remote Listener port on the MainForm
Bkearney1 Dec 2, 2021
96b23b4
Merge branch 'RemoteListenerPort_Issue350' of https://github.com/YCPR…
Bkearney1 Dec 2, 2021
cbbc8c6
AZ/EL parse error checking
DanPalm5 Dec 2, 2021
df27330
Cleaning up and making RL routine more readable
DanPalm5 Dec 2, 2021
cb3a3a3
Allow TCP commands to process asynchronously
DanPalm5 Dec 2, 2021
b462b1c
spacing
DanPalm5 Dec 2, 2021
0a9a006
RemoteListener no longer hangs after requesting to kill TCP listener
Bkearney1 Dec 2, 2021
1797b2a
Fix TCP connections not running in parallel and Stop commands not sto…
DanPalm5 Dec 3, 2021
9f7670d
Add setting of movement priority in RTController
DanPalm5 Dec 3, 2021
8b14720
Implement waiting message for parallel connections
DanPalm5 Dec 3, 2021
8f53878
Converted CB accel to orientation; precision seems to vary within abo…
CRPWDev Oct 14, 2021
e03ee61
Additional testing with pitch and roll to determine accurate CB Accel…
CRPWDev Oct 16, 2021
b67c5e8
Reduced CB accelerometer noise and fixed orientation range
CRPWDev Oct 24, 2021
dac228d
Adding function to get current RadioTelescopeDirectionEnum
Bkearney1 Oct 26, 2021
58b7d40
GetRadioTelescopeDirectionEnum added to ProductionPLCDriver. Checked …
Bkearney1 Oct 27, 2021
b80c6f6
removed unnecessary register read and whitespeace
Bkearney1 Oct 27, 2021
4b4e459
Added min/max values to RadioTelescope entity and updated associated …
tfranks31 Oct 27, 2021
08e8d24
Added optional isCriticalMovement parameter to InterruptMovementAndWa…
tfranks31 Oct 28, 2021
a195dc0
Renamed isCriticalMovement and added implementation to MovementMontit…
tfranks31 Oct 28, 2021
68e264b
Removed read to second register
Bkearney1 Oct 31, 2021
7e3f13d
Added main software-stop implementation framework
tfranks31 Oct 31, 2021
090094a
Moved cbAccelPosition computation to method in SensorNetworkServer. U…
tfranks31 Oct 31, 2021
8429eba
Added software stop checkbox to control form that enables/disables so…
tfranks31 Nov 1, 2021
ce4c71a
Added SoftwareStopHit movement result and implemented it to return fo…
tfranks31 Nov 1, 2021
5d3b34c
Added check in movement functions of RadioTelescopeController to chec…
Bkearney1 Nov 2, 2021
6aee6ab
Allowed functions to back off from software-stops
Bkearney1 Nov 2, 2021
671f755
Disallowed any furthur movements to be executed after moving past sof…
CRPWDev Nov 8, 2021
9cda742
Added check if software-stops are enabled in each of the movement fun…
Bkearney1 Nov 10, 2021
a915d20
Adjusted software-stops default range, added check for software-stops…
tfranks31 Nov 12, 2021
7c0fb56
Fixed final position offset not being applied to motor encoder positi…
CRPWDev Nov 14, 2021
83b6fbe
Fixed simulation movement results that were causing software-stops to…
tfranks31 Nov 14, 2021
f0c7dbf
Cleaned up software stop additions
tfranks31 Nov 28, 2021
680b39f
Added confirmation box for Software-stops
Bkearney1 Dec 2, 2021
21fa6d3
Added ability for user to change software-stops thresholds in the Dia…
Bkearney1 Dec 3, 2021
15f064c
remove auto-generated event handlers
Bkearney1 Dec 3, 2021
ce06c7e
Rebased Development into software-stops branch. Adjusted GUI issues f…
tfranks31 Dec 4, 2021
9498129
Changed MoveRadioTelescopeByXDegrees() elevation validation to use so…
tfranks31 Dec 4, 2021
d16f1f7
Changed sensor network data interval back to 250ms. Going faster caus…
tfranks31 Dec 4, 2021
1138c8a
Fixed bug with out of range upper/lower limit typed in box being used…
Bkearney1 Dec 4, 2021
5255e0c
Removed manual software stop offset from calculation
CRPWDev Dec 5, 2021
24f8da4
Changed tooltip to say "number" instead of "double"
Bkearney1 Dec 5, 2021
3553c23
Merge branch 'software-stops' of https://github.com/YCPRadioTelescope…
Bkearney1 Dec 6, 2021
84b4ad0
added timestamp to software-stops threshold update message
Bkearney1 Dec 6, 2021
49b38ce
Merge pull request #466 from YCPRadioTelescope/async-tcp-connections
ycpworkspace Dec 6, 2021
9d656af
Simplified acceleration to position calculation and added offset cons…
CRPWDev Dec 6, 2021
9af7f2b
Merge pull request #460 from YCPRadioTelescope/software-stops
ycpworkspace Dec 6, 2021
a6834dc
Fixed timestamp calculation and cleaned up some code
tfranks31 Dec 7, 2021
2c88925
Merge branch 'Development' into RemoteListenerPort_Issue350
tfranks31 Dec 12, 2021
a4a6df8
Added default software stops constants to the new RadioTelescope Enti…
tfranks31 Dec 12, 2021
a998d90
Fixed failing TestAddAppointment by ensuring that queried appoints ar…
tfranks31 Dec 13, 2021
a324c1a
Moved OrderBy to where appointments are filtered to follow better str…
tfranks31 Dec 13, 2021
dfc96c9
Merge pull request #470 from YCPRadioTelescope/TestAddAppointment-fix…
tfranks31 Jan 2, 2022
9575c88
Merge pull request #464 from YCPRadioTelescope/RemoteListenerPort_Iss…
tfranks31 Jan 2, 2022
2ca0b59
Merge pull request #473 from YCPRadioTelescope/appt-movement-timeout
tfranks31 Jan 4, 2022
dfd2234
Merge branch 'Development' into acceleration-blob-timestamps
tfranks31 Jan 29, 2022
b779e9f
Fixed incomplete merge issue
tfranks31 Jan 29, 2022
c14e5c1
Move acceleration encoding to its own method to clean up code
tfranks31 Jan 30, 2022
7612340
Merge pull request #479 from YCPRadioTelescope/acceleration-blob-time…
tfranks31 Feb 1, 2022
6a28882
Added using statements for TcpClient and NetworkStream initialization…
jsnyder17 Feb 1, 2022
f68e089
Added using statement to TcpClient and NetworkStream initializations
jsnyder17 Feb 1, 2022
149b4e6
Fixed white spaces
jsnyder17 Feb 1, 2022
53e46a8
Merge pull request #482 from YCPRadioTelescope/memory-leak-fix
tfranks31 Feb 1, 2022
2390565
Fixed CSV deletion bug by adding MAX_ATTEMPTS constant to Miscellaneo…
jsnyder17 Feb 1, 2022
833953f
Merge pull request #483 from YCPRadioTelescope/delete-csv-file-fix
tfranks31 Feb 2, 2022
efc57b2
Changed the test case to include EST and EDT as descriptors
Liam920 Feb 2, 2022
648e6e8
Updated elevation and azimuth limits and added invalid value prompt
jsnyder17 Feb 3, 2022
c21eddc
Added switch between software stop and range limits
jsnyder17 Feb 4, 2022
723c12e
Clarified invalid value entry message
jsnyder17 Feb 4, 2022
3b6ea2c
Changed custom orientation script UI to live update and disable ok bu…
jsnyder17 Feb 5, 2022
cc05057
Aligned buttons and descriptions to use similar styles
Liam920 Feb 8, 2022
3b35ee6
Merge pull request #486 from YCPRadioTelescope/fix-TestGetTimeStamp
tfranks31 Feb 8, 2022
cfeac11
Polished up the buttons
Liam920 Feb 8, 2022
8323ed8
Merge pull request #487 from YCPRadioTelescope/align-sensor-override-…
tfranks31 Feb 9, 2022
d9def4c
Added error message and greyed out OK button
jsnyder17 Feb 10, 2022
6c3ae70
Updated RTController to use the encoder
Liam920 Feb 14, 2022
93afdd7
Cleaned up code and added comments
jsnyder17 Feb 14, 2022
37628b2
Added the stop button to Control Form
Liam920 Feb 15, 2022
0e7789c
Telescope Successfully stops
Liam920 Feb 15, 2022
c48df13
Removed condition in input validation
jsnyder17 Feb 16, 2022
ee09a68
Removed getter and setter methods and used simplified form
jsnyder17 Feb 16, 2022
edc8282
Merge pull request #484 from YCPRadioTelescope/orientation-script-ran…
tfranks31 Feb 16, 2022
96d3672
Added some functionality to the stop button
Liam920 Feb 16, 2022
155662d
Added offset time to simulation data to get more accurated capture ti…
tfranks31 Feb 19, 2022
e07115a
Fixed incorrect type casting causing simulation timestamp truncation
tfranks31 Feb 19, 2022
c0e6db9
Updated Stop button to be always active and use a confirmation box
Liam920 Feb 22, 2022
11715ba
Updated comment
Liam920 Feb 22, 2022
e52d96d
Fixed a typo in the popup box
Liam920 Feb 22, 2022
5d58e7e
Merge pull request #492 from YCPRadioTelescope/Inertia-Testing-Tools-Fix
tfranks31 Feb 25, 2022
3e14668
Added logger info, remove redundant false
Liam920 Feb 25, 2022
2c243d1
Moved Initialization Settings
Liam920 Feb 28, 2022
23b5180
Merge pull request #491 from YCPRadioTelescope/add_stop_RT_button
tfranks31 Mar 7, 2022
beca64d
Merge pull request #490 from YCPRadioTelescope/update-software-stops-EAE
tfranks31 Mar 7, 2022
4b92ace
Initial implmentation of AES encryption/ decryption for testing
jsnyder17 Mar 14, 2022
d8f8a5d
Encrypt data sent back to mobile app
jsnyder17 Mar 15, 2022
c0f1048
Added test method to RemoteListenerTests.cs
davidmchugh2000 Mar 15, 2022
e9e03fc
Fixed issue with TCP not working for mobile or web
davidmchugh2000 Mar 16, 2022
f2f6ef0
Merge pull request #504 from YCPRadioTelescope/users/dmchugh/tcpConne…
tfranks31 Mar 16, 2022
bc3378e
Merge pull request #505 from YCPRadioTelescope/Development
jsnyder17 Mar 16, 2022
93972bf
Need to test with Dylan one last time to ensure functionality.
jsnyder17 Mar 16, 2022
dce23e0
Updated encryption code and added functionality to check for encrypti…
jsnyder17 Mar 16, 2022
0a2d6a4
Added functionality to check for encryption in RemoteListener
jsnyder17 Mar 16, 2022
d7504f0
Added encryption unit test
jsnyder17 Mar 16, 2022
b7f9596
Restored original parse order and touched up checkEncrypted method.
jsnyder17 Mar 17, 2022
9b25eb1
More stuff
jsnyder17 Mar 18, 2022
c727999
Added function to remove padding from decrypted commands. All encrypt…
jsnyder17 Mar 18, 2022
9ffe53b
Implemented fully functional encryption between the mobile app and cr…
jsnyder17 Mar 20, 2022
90696de
Changed encryption flag in RemoteListener.cs to work with threads
jsnyder17 Mar 21, 2022
866df3b
Fixed bug that would result from a pipe being included in encrypted A…
jsnyder17 Mar 21, 2022
12ba3a8
Added MCU error bit reset command.
jsnyder17 Mar 21, 2022
cbbd602
Commit
jsnyder17 Mar 22, 2022
f59b753
Fix append data bug
jsnyder17 Mar 22, 2022
14fbe52
Uppercased because David
jsnyder17 Mar 22, 2022
e5efaaf
Simplified code in RemoteListener.cs
jsnyder17 Mar 22, 2022
d15b9ba
Added unit test to RemoteListener.cs
jsnyder17 Mar 22, 2022
33652e3
Merge branch 'stop-movement-error-checking' into stop-movement-error-…
Liam920 Mar 23, 2022
f1208cd
Merge pull request #511 from YCPRadioTelescope/stop-movement-error-me…
Liam920 Mar 23, 2022
ce2fa8f
Fixed merge conflict
Liam920 Mar 23, 2022
7d28032
Added documentation, cleaned and added more tests.
jsnyder17 Mar 25, 2022
56bf520
Merge pull request #506 from YCPRadioTelescope/Encryption
tfranks31 Mar 25, 2022
8b2c1e4
Fixed typos and removed blocking call after immediate stop
Liam920 Mar 27, 2022
e813f69
Merge pull request #512 from YCPRadioTelescope/stop-movement-error-ch…
tfranks31 Mar 28, 2022
f2d210c
Renamed combobox instances and reworked some logic
jsnyder17 Apr 20, 2022
443869b
Updated IP address values
jsnyder17 Apr 20, 2022
6e63573
Finished logic and ensured all combo boxes and text fields are assign…
jsnyder17 Apr 20, 2022
f3abef5
Used enums for selecting default combo box values
jsnyder17 Apr 24, 2022
6428fce
Removed unused event handler methods
jsnyder17 Apr 24, 2022
8219ef5
Removed event handler assignment statements
jsnyder17 Apr 24, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -265,3 +265,17 @@ AWSConstants.cs
/ControlRoomApplication/ControlRoomApplication/Constants/AWSConstants.cs
/ControlRoomApplication/results.xml
/ControlRoomApplication/ControlRoomApplication.dll

# Not an AES key or IV so don't look here
/ControlRoomApplication/ControlRoomApplication/Constants/AESConstants.cs

# Sensitive push notification data
/ControlRoomApplication/ControlRoomApplication/Controllers/Communications/pushNotification.cs
\ControlRoomApplication\ControlRoom\Application\Controllers\Communications\pushNotification.cs
/ControlRoomApplication/ControlRoomApplication/Controllers/Communications/EmailPartConstants.cs
\ControlRoomApplication\ControlRoom\Application\Controllers\Communications\EmailPartConstants.cs


# Gradle stuff
/.gradle
ControlRoomApplication/ControlRoomApplicationTest/ControlRoomApplicationTest.csproj
4 changes: 4 additions & 0 deletions ControlRoomApplication/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[*.cs]

# CS1591: Missing XML comment for publicly visible type or member
dotnet_diagnostic.CS1591.severity = none
4 changes: 2 additions & 2 deletions ControlRoomApplication/ControlRoomApplication.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28010.2016
# Visual Studio Version 16
VisualStudioVersion = 16.0.31624.102
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControlRoomApplication", "ControlRoomApplication\ControlRoomApplication.csproj", "{A9AF6C2B-B653-48AC-8DAD-791197740034}"
EndProject
Expand Down
18 changes: 17 additions & 1 deletion ControlRoomApplication/ControlRoomApplication/App.config
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
<bufferSize value="1" />
<threshold value="Info" />
<connectionType value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data" />
<connectionString value="server=localhost;database=RTDatabase;uid=root;pwd=ycpRT2018!;" />
<connectionString value="server=localhost;database=radio_telescope;uid=root;pwd=ycpRT2018!;" />
<commandText value="INSERT INTO `telescope_log` (`log_date`,`log_level`,`thread`,`logger`,`message`) VALUES (?log_date, ?log_level, ?thread, ?logger, ?message);" />
<parameter>
<parameterName value="?log_date" />
Expand Down Expand Up @@ -114,6 +114,22 @@

</dependentAssembly>

<dependentAssembly>

<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />

<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />

</dependentAssembly>

<dependentAssembly>

<assemblyIdentity name="BouncyCastle.Crypto" publicKeyToken="0e99375e54769942" culture="neutral" />

<bindingRedirect oldVersion="0.0.0.0-1.8.9.0" newVersion="1.8.9.0" />

</dependentAssembly>

</assemblyBinding>

</runtime>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public sealed class AbstractSpectraCyberConstants
public const StopBits STOP_BITS = StopBits.One;
public const int BUFFER_SIZE = 4;
public const int TIMEOUT_MS = 1000;
public const int WAIT_TIME_MS = 70; // TODO: confirm that this is enough time to wait
public const int WAIT_TIME_MS = 70;
public const bool CLIP_BUFFER_RESPONSE = true;
public const string DEFAULT_COMM_PORT = "COM5";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
namespace ControlRoomApplication.Constants
{
public sealed class MCUConstants
{
namespace ControlRoomApplication.Constants {
public sealed class MCUConstants {
public const double SIMULATION_MCU_PEAK_VELOCITY = 22.5; // steps/s
public const double SIMULATION_MCU_PEAK_ACCELERATION = 32.0; // steps/s^2

public const int ACTUAL_MCU_DEFAULT_PEAK_VELOCITY = 500000; // steps/s
public const int ACTUAL_MCU_DEFAULT_PEAK_VELOCITY = 500_000; // steps/s
public const int ACTUAL_MCU_DEFAULT_ACCELERATION = 1000; // steps/ms/s
public const double ACTUAL_MCU_STEPS_PER_DEGREE = 166 + (2.0 / 3);

Expand All @@ -16,7 +14,235 @@ public sealed class MCUConstants
public const ushort ACTUAL_MCU_READ_INPUT_REGISTER_CURRENT_POSITION_ADDRESS = 2;
public const ushort ACTUAL_MCU_WRITE_REGISTER_START_ADDRESS = 1024;
public const int ACTUAL_MCU_AZIMUTH_ENCODER_BIT_RESOLUTION = 12;
public const int ACTUAL_MCU_MOVE_PEAK_VELOCITY_WITH_GEARING = 100000;
public const int ACTUAL_MCU_MOVE_PEAK_VELOCITY_WITH_GEARING = 100_000;
public const ushort ACTUAL_MCU_MOVE_ACCELERATION_WITH_GEARING = 50;


/// <summary>
/// this enum represents the data that comes out of the MCU starting in position <see cref="ACTUAL_MCU_READ_INPUT_REGISTER_START_ADDRESS"/> = 0 of its registers
/// </summary>
public enum MCUOutputRegs : ushort {
/// <summary>
/// most signifigant word (16 bits) of the az axsys status <see cref="MCUStatusBitsMSW"/> for description of eacs bit
/// </summary>
AZ_Status_Bist_MSW = 0,
/// <summary>
/// least signifigant word (16 bits) of the az axsys status <see cref="MCUStutusBitsLSW"/> for description of eacs bit
/// </summary>
AZ_Status_Bist_LSW = 1,
/// <summary>
/// this is the position of the axsys in terms of motor step count (most signifigant word)
/// </summary>
AZ_Current_Position_MSW = 2,
/// <summary>
/// this is the position of the axsys in terms of motor step count (least signifigant word)
/// </summary>
AZ_Current_Position_LSW = 3,
/// <summary>
/// if we were using encoders on the motors this is where the data from those encoders would be
/// </summary>
AZ_MTR_Encoder_Pos_MSW=4,
/// <summary>
/// if we were using encoders on the motors this is where the data from those encoders would be
/// </summary>
AZ_MTR_Encoder_Pos_LSW = 5,
/// <summary>
/// if the MCU is told to capture the current position this is where that data will be stored
/// </summary>
AZ_Capture_Data_MSW=6,
/// <summary>
/// if the MCU is told to capture the current position this is where that data will be stored
/// </summary>
AZ_Capture_Data_LSW = 7,
RESERVED1 =8,
/// <summary>
/// used to track network conectivity bit 14 of this register will flip every .5 seconds,
/// bit 13 is set when the MCU looses or has previously lost ethernet conectivity
/// </summary>
NetworkConnectivity = 9,
/// <summary>
/// most signifigant word (16 bits) of the EL axsys status <see cref="MCUStatusBitsMSW"/> for description of eacs bit
/// </summary>
EL_Status_Bist_MSW = 10,
/// <summary>
/// least signifigant word (16 bits) of the EL axsys status <see cref="MCUStutusBitsLSW"/> for description of eacs bit
/// </summary>
EL_Status_Bist_LSW = 11,
/// <summary>
/// this is the position of the axsys in terms of motor step count (most signifigant word)
/// </summary>
EL_Current_Position_MSW = 12,
/// <summary>
/// this is the position of the axsys in terms of motor step count (least signifigant word)
/// </summary>
EL_Current_Position_LSW = 13,
/// <summary>
/// if we were using encoders on the motors this is where the data from those encoders would be
/// </summary>
EL_MTR_Encoder_Pos_MSW = 14,
/// <summary>
/// if we were using encoders on the motors this is where the data from those encoders would be
/// </summary>
EL_MTR_Encoder_Pos_LSW = 15,
/// <summary>
/// if the MCU is told to capture the current position this is where that data will be stored
/// </summary>
EL_Capture_Data_MSW = 16,
/// <summary>
/// if the MCU is told to capture the current position this is where that data will be stored
/// </summary>
EL_Capture_Data_LSW = 17,
RESERVED2 = 18,
RESERVED3 = 19

}



/// <summary>
/// desciptions taken from anf1-anf2-motion-controller-user-manual.pdf page 76 - 78
/// </summary>
public enum MCUStatusBitsMSW : int {
/// <summary>
/// Set when the ANF1/2 axis is outputting pulses for clockwise motion
/// </summary>
CW_Motion = 0,
/// <summary>
/// Set when the ANF1/2 axis is outputting pulses for counter-clockwise motion
/// </summary>
CCW_Motion = 1,
/// <summary>
/// Set when the ANF1/2 axis has stopped motion as a result of a Hold Move Command
/// </summary>
Hold_State = 2,
/// <summary>
/// Set when the ANF1/2 axis is not in motion for any reason
/// </summary>
Axis_Stopped = 3,
/// <summary>
/// This bit is only set after the successful completion of a homing command
/// </summary>
At_Home = 4,
/// <summary>
/// Set when the ANF1/2 axis is accelerating during any move
/// </summary>
Move_Accelerating = 5,
/// <summary>
/// Set when the ANF1/2 axis is decelerating during any move
/// </summary>
Move_Decelerating = 6,
/// <summary>
/// Set when the ANF1/2 axis has successfully completed an Absolute, Relative,
/// Blend, or Interpolated Move
/// </summary>
Move_Complete = 7,
/// <summary>
/// Set when the ANF1/2 could not home the axis because of an error durring homeing see MCU documaentation for list of potential eroorrs
/// </summary>
Home_Invalid_Error = 8,
/// <summary>
/// Set when there was an error in the last Program Blend Profile data block //we don't use blend move so this shouldnt come up
/// </summary>
Profile_Invalid = 9,
/// <summary>
/// this bit is set when the position stored in the MCU could be incorrect.
/// set under the fowling conditions, Axis switched to Command Mode | An Immediate Stop command was issued | An Emergency Stop input was activated | CW or CCW Limit reached
/// </summary>
Position_Invalid = 10,
/// <summary>
/// see MCU documaentation for list of potential eroorrs
/// </summary>
Input_Error = 11,
/// <summary>
/// Set when the last command issued to the ANF1/2 axis forced an error
/// </summary>
Command_Error = 12,
/// <summary>
/// set when the axis has a configuration error
/// </summary>
Configuration_Error = 13,
/// <summary>
/// Set when the axis is enabled. Axis 2 of an ANF2 is disabled by default. An
/// axis is automatically enabled when valid configuration data is written to it
/// </summary>
Axis_Enabled = 14,
/// <summary>
/// Set to “1” when the axis is in Configuration Mode. Reset to “0” when the axis is in Command Mode
/// </summary>
Axis_Configuration_Mode = 15,
}

/// <summary>
/// desciptions taken from anf1-anf2-motion-controller-user-manual.pdf page 76 - 78
/// </summary>
public enum MCUStutusBitsLSW : int {
/// <summary>
/// Set when the Capture Input is active
/// </summary>
Capture_Input_Active = 0,
/// <summary>
/// Set when the External Input is active
/// </summary>
External_Input = 1,
/// <summary>
/// Set when the Home Input is active
/// </summary>
Home_Input = 2,
/// <summary>
/// Set when the CW Input/E-Stop Input is active
/// </summary>
CW_Limit = 3,
/// <summary>
/// Set when the CCW Input/E-Stop Input is active
/// </summary>
CCW_Limit = 4,
/// <summary>
/// see MCU documaentation
/// </summary>
No_Fault_Output_State = 5,
/// <summary>
/// see MCU documaentation (unused)
/// </summary>
On_Line_Output_State = 6,
/// <summary>
/// see MCU documaentation (unused)
/// </summary>
Move_Complete_Output_State = 7,
/// <summary>
/// Set when the axis is presently running a Blend Move Profile (unused)
/// </summary>
Running_Blend_Move = 8,
/// <summary>
/// Set when ANF1/2 has accepted a Blend Move Profile programming block (unused)
/// </summary>
Blend_Move_Acknowledge = 9,
/// <summary>
/// Set when the Minimum Registration Move Distance
/// parameter is programmed to a non-zero value (unused)
/// </summary>
NonZero_Registration_Distance = 10,
/// <summary>
/// Set when the ANF1/2 is running an Interpolated Move. only valid for axis one
/// </summary>
Running_Interpolated_Move = 11,
/// <summary>
/// This bit always equals the state of the Backplane Home
/// Proximity bit, which is bit 6 in the Command Bits LSW for the axis
/// </summary>
Backplane_Home_Proximity = 12,
/// <summary>
/// Set when the axis is in Encoder Follower Mode
/// </summary>
Encoder_Follower_Mode = 13,
/// <summary>
/// These bits will always equal zero
/// </summary>
Reserved1 = 14,
/// <summary>
/// These bits will always equal zero
/// </summary>
reserved2 = 15,
}
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,65 @@ namespace ControlRoomApplication.Constants
public sealed class MiscellaneousConstants
{
public const int MAX_USERNAME_LENGTH = 15;
public const string LOCAL_DATABASE_NAME = "rtdatabase";
public const string LOCAL_DATABASE_NAME = "radio_telescope";

// Can't create const instances, we have to use this as static readonly, sadly
public static readonly Location JOHN_RUDY_PARK = new Location(76.7046, 40.0244, 395.0);
public static readonly Location JOHN_RUDY_PARK = new Location(76.7046, 40.0244, 395.0, "");

public const double NEGLIGIBLE_POSITION_CHANGE_DEGREES = 0.1;

public static readonly Orientation THERMAL_CALIBRATION_ORIENTATION = new Orientation(200, 20);

public static readonly double THERMAL_CALIBRATION_OFFSET = 0.01;

// Software stop elevation thresholds

/// <summary>
/// The maximum degree threshold for software stops to stop the telescope
/// </summary>
public const double MAX_SOFTWARE_STOP_EL_DEGREES = 91.0;

/// <summary>
/// The minimum degree threshold for software stops to stop the telescope
/// </summary>
public const double MIN_SOFTWARE_STOP_EL_DEGREES = -5.0;

// constants used for user input validation
public const int MAX_PORT_VALUE = 65535;

public const int MIN_PORT_VALUE = 1; // 0 is reserved!

public const double MAX_SPEED_RPM = 2.00;

public const double MIN_SPEED_RPM = 0.00;

// Constants for orientations that we use in various places

/// <summary>
/// The stow position of the telescope. This position has it pointing straight up in the air
/// </summary>
public static readonly Orientation Stow = new Orientation(0, 90);


//constants for acceleration blob

/// <summary>
/// The number of acceleration datapoints in one blob to be added to the database
/// </summary>
public const int BLOB_SIZE = 4000;

// Constant for deleting CSV file attempts

/// <summary>
/// This constant is used to represent the maximum number of attempts that are taken to delete the CSV file
/// </summary>
public static readonly int MAX_ATTEMPTS = 9;







}
}
Loading