gondola 0.12.4__tar.gz → 0.12.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. {gondola-0.12.4 → gondola-0.12.5}/Cargo.lock +1 -1
  2. {gondola-0.12.4 → gondola-0.12.5}/Cargo.toml +1 -1
  3. {gondola-0.12.4 → gondola-0.12.5}/PKG-INFO +1 -1
  4. gondola-0.12.5/src/tof/panic.rs +91 -0
  5. {gondola-0.12.4 → gondola-0.12.5}/.gitignore +0 -0
  6. {gondola-0.12.4 → gondola-0.12.5}/README.md +0 -0
  7. {gondola-0.12.4 → gondola-0.12.5}/alert-manifest-test.toml +0 -0
  8. {gondola-0.12.4 → gondola-0.12.5}/benches/bench.rs +0 -0
  9. {gondola-0.12.4 → gondola-0.12.5}/diesel.toml +0 -0
  10. {gondola-0.12.4 → gondola-0.12.5}/publish_to_bluejay.sh +0 -0
  11. {gondola-0.12.4 → gondola-0.12.5}/pyproject.toml +0 -0
  12. {gondola-0.12.4 → gondola-0.12.5}/python/gondola/__init__.py +0 -0
  13. {gondola-0.12.4 → gondola-0.12.5}/python/gondola/calibration.py +0 -0
  14. {gondola-0.12.4 → gondola-0.12.5}/python/gondola/db.py +0 -0
  15. {gondola-0.12.4 → gondola-0.12.5}/python/gondola/gaps_flight.db +0 -0
  16. {gondola-0.12.4 → gondola-0.12.5}/python/gondola/io/__init__.py +0 -0
  17. {gondola-0.12.4 → gondola-0.12.5}/python/gondola/reconstruction/__init__.py +0 -0
  18. {gondola-0.12.4 → gondola-0.12.5}/python/gondola/tof/__init__.py +0 -0
  19. {gondola-0.12.4 → gondola-0.12.5}/python/gondola/tof/analysis.py +0 -0
  20. {gondola-0.12.4 → gondola-0.12.5}/python/gondola/tracker/__init__.py +0 -0
  21. {gondola-0.12.4 → gondola-0.12.5}/python/gondola/tracker/analysis.py +0 -0
  22. {gondola-0.12.4 → gondola-0.12.5}/python/gondola/visual/__init__.py +0 -0
  23. {gondola-0.12.4 → gondola-0.12.5}/python/gondola/visual/tof.py +0 -0
  24. {gondola-0.12.4 → gondola-0.12.5}/python/gondola/visual/tracker.py +0 -0
  25. {gondola-0.12.4 → gondola-0.12.5}/src/calibration/tof.rs +0 -0
  26. {gondola-0.12.4 → gondola-0.12.5}/src/calibration/tracker.rs +0 -0
  27. {gondola-0.12.4 → gondola-0.12.5}/src/calibration.rs +0 -0
  28. {gondola-0.12.4 → gondola-0.12.5}/src/constants.rs +0 -0
  29. {gondola-0.12.4 → gondola-0.12.5}/src/database/schema.rs +0 -0
  30. {gondola-0.12.4 → gondola-0.12.5}/src/database.rs +0 -0
  31. {gondola-0.12.4 → gondola-0.12.5}/src/errors.rs +0 -0
  32. {gondola-0.12.4 → gondola-0.12.5}/src/events/rb_event.rs +0 -0
  33. {gondola-0.12.4 → gondola-0.12.5}/src/events/rb_event_header.rs +0 -0
  34. {gondola-0.12.4 → gondola-0.12.5}/src/events/rb_waveform.rs +0 -0
  35. {gondola-0.12.4 → gondola-0.12.5}/src/events/telemetry_event.rs +0 -0
  36. {gondola-0.12.4 → gondola-0.12.5}/src/events/tof_event.rs +0 -0
  37. {gondola-0.12.4 → gondola-0.12.5}/src/events/tof_hit.rs +0 -0
  38. {gondola-0.12.4 → gondola-0.12.5}/src/events/tracker_hit.rs +0 -0
  39. {gondola-0.12.4 → gondola-0.12.5}/src/events.rs +0 -0
  40. {gondola-0.12.4 → gondola-0.12.5}/src/io/caraspace/frame.rs +0 -0
  41. {gondola-0.12.4 → gondola-0.12.5}/src/io/caraspace/reader.rs +0 -0
  42. {gondola-0.12.4 → gondola-0.12.5}/src/io/caraspace/socket_reader.rs +0 -0
  43. {gondola-0.12.4 → gondola-0.12.5}/src/io/caraspace/writer.rs +0 -0
  44. {gondola-0.12.4 → gondola-0.12.5}/src/io/caraspace.rs +0 -0
  45. {gondola-0.12.4 → gondola-0.12.5}/src/io/data_source.rs +0 -0
  46. {gondola-0.12.4 → gondola-0.12.5}/src/io/ipbus.rs +0 -0
  47. {gondola-0.12.4 → gondola-0.12.5}/src/io/parsers.rs +0 -0
  48. {gondola-0.12.4 → gondola-0.12.5}/src/io/root_reader.rs +0 -0
  49. {gondola-0.12.4 → gondola-0.12.5}/src/io/serialization.rs +0 -0
  50. {gondola-0.12.4 → gondola-0.12.5}/src/io/streamers.rs +0 -0
  51. {gondola-0.12.4 → gondola-0.12.5}/src/io/telemetry_reader.rs +0 -0
  52. {gondola-0.12.4 → gondola-0.12.5}/src/io/tof_reader.rs +0 -0
  53. {gondola-0.12.4 → gondola-0.12.5}/src/io/tof_writer.rs +0 -0
  54. {gondola-0.12.4 → gondola-0.12.5}/src/io.rs +0 -0
  55. {gondola-0.12.4 → gondola-0.12.5}/src/lib.rs +0 -0
  56. {gondola-0.12.4 → gondola-0.12.5}/src/monitoring/cpu_moni_data.rs +0 -0
  57. {gondola-0.12.4 → gondola-0.12.5}/src/monitoring/heartbeats/data_sink_hb.rs +0 -0
  58. {gondola-0.12.4 → gondola-0.12.5}/src/monitoring/heartbeats/event_builder_hb.rs +0 -0
  59. {gondola-0.12.4 → gondola-0.12.5}/src/monitoring/heartbeats/master_trigger_hb.rs +0 -0
  60. {gondola-0.12.4 → gondola-0.12.5}/src/monitoring/heartbeats.rs +0 -0
  61. {gondola-0.12.4 → gondola-0.12.5}/src/monitoring/ltb_moni_data.rs +0 -0
  62. {gondola-0.12.4 → gondola-0.12.5}/src/monitoring/mtb_moni_data.rs +0 -0
  63. {gondola-0.12.4 → gondola-0.12.5}/src/monitoring/pa_moni_data.rs +0 -0
  64. {gondola-0.12.4 → gondola-0.12.5}/src/monitoring/pb_moni_data.rs +0 -0
  65. {gondola-0.12.4 → gondola-0.12.5}/src/monitoring/rb_moni_data.rs +0 -0
  66. {gondola-0.12.4 → gondola-0.12.5}/src/monitoring/run_statistics.rs +0 -0
  67. {gondola-0.12.4 → gondola-0.12.5}/src/monitoring.rs +0 -0
  68. {gondola-0.12.4 → gondola-0.12.5}/src/packets/bfsw_ack_packet.rs +0 -0
  69. {gondola-0.12.4 → gondola-0.12.5}/src/packets/gps_packet.rs +0 -0
  70. {gondola-0.12.4 → gondola-0.12.5}/src/packets/magnetometer.rs +0 -0
  71. {gondola-0.12.4 → gondola-0.12.5}/src/packets/telemetry_packet.rs +0 -0
  72. {gondola-0.12.4 → gondola-0.12.5}/src/packets/telemetry_packet_header.rs +0 -0
  73. {gondola-0.12.4 → gondola-0.12.5}/src/packets/telemetry_packet_type.rs +0 -0
  74. {gondola-0.12.4 → gondola-0.12.5}/src/packets/tof_packet.rs +0 -0
  75. {gondola-0.12.4 → gondola-0.12.5}/src/packets/tof_packet_type.rs +0 -0
  76. {gondola-0.12.4 → gondola-0.12.5}/src/packets/tracker.rs +0 -0
  77. {gondola-0.12.4 → gondola-0.12.5}/src/packets/tracker_header.rs +0 -0
  78. {gondola-0.12.4 → gondola-0.12.5}/src/packets.rs +0 -0
  79. {gondola-0.12.4 → gondola-0.12.5}/src/prelude.rs +0 -0
  80. {gondola-0.12.4 → gondola-0.12.5}/src/python.rs +0 -0
  81. {gondola-0.12.4 → gondola-0.12.5}/src/random.rs +0 -0
  82. {gondola-0.12.4 → gondola-0.12.5}/src/stats.rs +0 -0
  83. {gondola-0.12.4 → gondola-0.12.5}/src/tof/alerts.rs +0 -0
  84. {gondola-0.12.4 → gondola-0.12.5}/src/tof/algorithms.rs +0 -0
  85. {gondola-0.12.4 → gondola-0.12.5}/src/tof/analysis.rs +0 -0
  86. {gondola-0.12.4 → gondola-0.12.5}/src/tof/analysis_engine.rs +0 -0
  87. {gondola-0.12.4 → gondola-0.12.5}/src/tof/commands.rs +0 -0
  88. {gondola-0.12.4 → gondola-0.12.5}/src/tof/config.rs +0 -0
  89. {gondola-0.12.4 → gondola-0.12.5}/src/tof/cuts.rs +0 -0
  90. {gondola-0.12.4 → gondola-0.12.5}/src/tof/detector_status.rs +0 -0
  91. {gondola-0.12.4 → gondola-0.12.5}/src/tof/master_trigger/control.rs +0 -0
  92. {gondola-0.12.4 → gondola-0.12.5}/src/tof/master_trigger/registers.rs +0 -0
  93. {gondola-0.12.4 → gondola-0.12.5}/src/tof/master_trigger.rs +0 -0
  94. {gondola-0.12.4 → gondola-0.12.5}/src/tof/rb_paddle_id.rs +0 -0
  95. {gondola-0.12.4 → gondola-0.12.5}/src/tof/settings.rs +0 -0
  96. {gondola-0.12.4 → gondola-0.12.5}/src/tof/signal_handler.rs +0 -0
  97. {gondola-0.12.4 → gondola-0.12.5}/src/tof/thread_control.rs +0 -0
  98. {gondola-0.12.4 → gondola-0.12.5}/src/tof/tof_response.rs +0 -0
  99. {gondola-0.12.4 → gondola-0.12.5}/src/tof.rs +0 -0
  100. {gondola-0.12.4 → gondola-0.12.5}/src/tracker/strips.rs +0 -0
  101. {gondola-0.12.4 → gondola-0.12.5}/src/tracker.rs +0 -0
  102. {gondola-0.12.4 → gondola-0.12.5}/src/version.rs +0 -0
  103. {gondola-0.12.4 → gondola-0.12.5}/tests/test.rs +0 -0
@@ -1352,7 +1352,7 @@ checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
1352
1352
 
1353
1353
  [[package]]
1354
1354
  name = "gondola-core"
1355
- version = "0.12.4"
1355
+ version = "0.12.5"
1356
1356
  dependencies = [
1357
1357
  "cfg-if 1.0.0",
1358
1358
  "chrono",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "gondola-core"
3
- version = "0.12.4"
3
+ version = "0.12.5"
4
4
  edition = "2024"
5
5
  readme = "README.md"
6
6
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gondola
3
- Version: 0.12.4
3
+ Version: 0.12.5
4
4
  Requires-Dist: tqdm>=4.0
5
5
  Requires-Dist: numpy>=2.3
6
6
  Requires-Dist: matplotlib>=3.10
@@ -0,0 +1,91 @@
1
+ //! Reporting catastrophic errors throughout the TOF system
2
+ //! related to software crashes
3
+ //!
4
+ // The following file is part of gaps-online-software and published
5
+ // under the GPLv3 license
6
+
7
+ use crate::prelude::*;
8
+
9
+ /// To be sent right before a panic occurs
10
+ #[derive(Debug, Clone, PartialEq)]
11
+ #[cfg_attr(feature="pybindings", pyclass)]
12
+ struct PanicPacket {
13
+ sender : u8,
14
+ message : String,
15
+ }
16
+
17
+ impl PanicPacket {
18
+
19
+ pub fn new(sender : u8, message : String) -> Self {
20
+ Self {
21
+ sender : sender,
22
+ message : message
23
+ }
24
+ }
25
+
26
+ /// Sent this over a newly created zmq socket.
27
+ /// (If any data publisher thread is active, this
28
+ /// might itself cause a panic, so that this works
29
+ /// all data publsher threads have to cease first
30
+ pub fn sent(&self) {
31
+ let bs = self.to_bytestream();
32
+ }
33
+ }
34
+
35
+ impl Default for PanicPacket {
36
+
37
+ fn default() -> Self {
38
+ Self::new(0,String::from("Unknonwn panic!"))
39
+ }
40
+ }
41
+
42
+ impl fmt::Display for PanicPacket {
43
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
44
+ let mut repr = format!("<PanicPacket from {}\n ", self.sender);
45
+ repr += &self.message;
46
+ repr += ">";
47
+ write!(f, "{}", repr)
48
+ }
49
+ }
50
+
51
+ impl TofPackable for PanicPacket {
52
+ const TOF_PACKET_TYPE : TofPacketType = TofPacketType::PanicPacket;
53
+ }
54
+
55
+ impl Serialization for PanicPacket {
56
+ const HEAD : u16 = 43690; //0xAAAA
57
+ const TAIL : u16 = 21845; //0x5555
58
+
59
+ fn to_bytestream(&self) -> Vec<u8> {
60
+ let mut stream = Vec::<u8>::new();
61
+ stream.extend_from_slice(&Self::HEAD.to_le_bytes());
62
+ stream.push(self.sender);
63
+ let mut payload = CRFrame::string_to_bytes(self.message.clone());
64
+ let pl_len = payload.len() as u16;
65
+ stream.extend(&pl_len.to_le_bytes());
66
+ stream.append(&mut payload);
67
+ stream.extend_from_slice(&Self::TAIL.to_le_bytes());
68
+ stream
69
+ }
70
+
71
+ fn from_bytestream(stream : &Vec<u8>,
72
+ pos : &mut usize)
73
+ -> Result<Self, SerializationError>{
74
+
75
+
76
+ let head = parse_u16(stream, pos);
77
+ if head != Self::HEAD {
78
+ error!("Decoding of HEAD failed! Got {} instead!", head);
79
+ return Err(SerializationError::HeadInvalid);
80
+ }
81
+ let sender = parse_u8(stream, pos);
82
+ let msg = parse_string(stream, pos);
83
+ let tail = parse_u16(stream, pos);
84
+ if tail != Self::HEAD {
85
+ error!("Decoding of HEAD failed! Got {} instead!", head);
86
+ return Err(SerializationError::HeadInvalid);
87
+ }
88
+ let panic = Self::new(sender, msg);
89
+ Ok(panic)
90
+ }
91
+ }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes