fprime-gds 4.0.1__py3-none-any.whl → 4.0.2a2__py3-none-any.whl

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 (31) hide show
  1. fprime_gds/common/decoders/ch_decoder.py +1 -1
  2. fprime_gds/common/decoders/event_decoder.py +1 -1
  3. fprime_gds/common/decoders/pkt_decoder.py +1 -1
  4. fprime_gds/common/distributor/distributor.py +1 -1
  5. fprime_gds/common/encoders/cmd_encoder.py +1 -1
  6. fprime_gds/common/encoders/encoder.py +1 -1
  7. fprime_gds/common/encoders/seq_writer.py +1 -1
  8. fprime_gds/common/gds_cli/base_commands.py +1 -1
  9. fprime_gds/common/gds_cli/channels.py +1 -1
  10. fprime_gds/common/gds_cli/command_send.py +1 -1
  11. fprime_gds/common/gds_cli/events.py +1 -1
  12. fprime_gds/common/handlers.py +56 -0
  13. fprime_gds/common/{pipeline → models}/dictionaries.py +1 -0
  14. fprime_gds/common/pipeline/publishing.py +111 -0
  15. fprime_gds/common/pipeline/standard.py +9 -22
  16. fprime_gds/common/testing_fw/api.py +86 -23
  17. fprime_gds/common/utils/config_manager.py +1 -1
  18. fprime_gds/executables/apps.py +59 -14
  19. fprime_gds/executables/cli.py +34 -5
  20. fprime_gds/executables/dictionary_merge.py +206 -0
  21. fprime_gds/executables/fprime_cli.py +1 -1
  22. fprime_gds/executables/run_deployment.py +19 -6
  23. {fprime_gds-4.0.1.dist-info → fprime_gds-4.0.2a2.dist-info}/METADATA +1 -1
  24. {fprime_gds-4.0.1.dist-info → fprime_gds-4.0.2a2.dist-info}/RECORD +29 -29
  25. {fprime_gds-4.0.1.dist-info → fprime_gds-4.0.2a2.dist-info}/entry_points.txt +1 -0
  26. fprime_gds/common/models/common/channel_telemetry.py +0 -174
  27. fprime_gds/common/models/common/event.py +0 -121
  28. {fprime_gds-4.0.1.dist-info → fprime_gds-4.0.2a2.dist-info}/WHEEL +0 -0
  29. {fprime_gds-4.0.1.dist-info → fprime_gds-4.0.2a2.dist-info}/licenses/LICENSE.txt +0 -0
  30. {fprime_gds-4.0.1.dist-info → fprime_gds-4.0.2a2.dist-info}/licenses/NOTICE.txt +0 -0
  31. {fprime_gds-4.0.1.dist-info → fprime_gds-4.0.2a2.dist-info}/top_level.txt +0 -0
@@ -2,7 +2,7 @@ fastentrypoints.py,sha256=2HO-tsTTZxpzYNd-BaLK3WDLknzCZKzb_yX2p3Ftqa8,4020
2
2
  fprime_gds/__init__.py,sha256=y2ljhCEHnvyfSDvXIEgBGIk8oHjjjjCWFxfddOGeYFk,115
3
3
  fprime_gds/version.py,sha256=dlUlfOKTsGaqz_L7TjhCVC-Vanx5cK67kdZlqcHCM8M,395
4
4
  fprime_gds/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- fprime_gds/common/handlers.py,sha256=YyhuF4yg3d7tFgWmbvXfxLDHYgea6Z1hpFd2A27gVZY,4464
5
+ fprime_gds/common/handlers.py,sha256=vPfW1jJpq-oI7c9OTFqZ1LovlhFjx1DEUrfZTk_iuNY,6344
6
6
  fprime_gds/common/transport.py,sha256=uYXWkM8TYEYz1vfY4AEn0PF8Gu4tkYmJ5t4w1YY1yW8,10565
7
7
  fprime_gds/common/zmq_transport.py,sha256=E_iBZ5sA4JKB99MWSOM6XnPrO-mbFyRvD9eQp9te6-Y,12397
8
8
  fprime_gds/common/communication/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -29,21 +29,21 @@ fprime_gds/common/data_types/file_data.py,sha256=4_G9kf4ThC5NzkxnKa0xNYBdi8UDvZg
29
29
  fprime_gds/common/data_types/pkt_data.py,sha256=cxqUnsPte0ijF1E8F1_uglVKIJFAIQbpoBlmwRjMrJY,3405
30
30
  fprime_gds/common/data_types/sys_data.py,sha256=Xfk5xryFg7zWS3VcGUDx9lQYBTajjWXvwkgFK5EUCG4,2095
31
31
  fprime_gds/common/decoders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
- fprime_gds/common/decoders/ch_decoder.py,sha256=mx0yfT-DQqQ8TrmRM3dr79eL9_E-c0gsKiKvvsjAu98,3849
32
+ fprime_gds/common/decoders/ch_decoder.py,sha256=-Vo_GJys-4ohs94XV0ZYB88SNqN0gxxY29Ijt1gwyXY,3847
33
33
  fprime_gds/common/decoders/decoder.py,sha256=9j7u05_nwXaEjR0etsoB--ATsHuILYCXlhk9m9yajKg,2655
34
- fprime_gds/common/decoders/event_decoder.py,sha256=ib-O18V5Z7bcnUUSDE9R0fU--bAZsfxLwuHXm964rzE,4505
34
+ fprime_gds/common/decoders/event_decoder.py,sha256=tF_mg98RDjR0PppymGhmXybYXA0mFqklZXwora-cVtw,4503
35
35
  fprime_gds/common/decoders/file_decoder.py,sha256=Ky2U8bli3YL6GbT9jSSvI73ySOtf0cdZLK4FXTuWjfA,2542
36
- fprime_gds/common/decoders/pkt_decoder.py,sha256=kW8k3OSbMy96w6MzsGWp656lAQvwxrIznWkD3Sbi8Ig,3329
36
+ fprime_gds/common/decoders/pkt_decoder.py,sha256=c1CebqBaD7rAZd9t0AXkGVRTCtvXj0YH9OBN2bJKaTk,3327
37
37
  fprime_gds/common/distributor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
- fprime_gds/common/distributor/distributor.py,sha256=jged1utucsYkVBm5tSaFEXHDg8suiJ_Hn-9YLPCaVXA,8036
38
+ fprime_gds/common/distributor/distributor.py,sha256=hP0mUknxxpKrQfYkf57dHbMItwgUTzpzmkrc1AOHVCw,8034
39
39
  fprime_gds/common/encoders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
40
  fprime_gds/common/encoders/ch_encoder.py,sha256=TBrTJ7TK4WwCh6KAspozh63WcPxrMImloB8tz7qeulw,2878
41
- fprime_gds/common/encoders/cmd_encoder.py,sha256=5wG5854ozmxctnYou3q9MdQNkTQEmpCiT4oBVgNRZdE,3499
42
- fprime_gds/common/encoders/encoder.py,sha256=xgFFCi-qKEKG7T5Qfo-qIadSiY0NSnfDgQUBq21fMhw,2984
41
+ fprime_gds/common/encoders/cmd_encoder.py,sha256=iFPi6uMlMPlApC47p9YKRjKJxMvz46p15Yy3NnGTyaE,3497
42
+ fprime_gds/common/encoders/encoder.py,sha256=jaN-uLHRGAzAs33ZdPm2FTdh3mAvsOCtqO6Ov9hspyI,2997
43
43
  fprime_gds/common/encoders/event_encoder.py,sha256=aM_3hWWx4OrLKF3-MlhmGSBYnzt-4iktSzMVrcUbfB8,3140
44
44
  fprime_gds/common/encoders/file_encoder.py,sha256=G9uUXQP-oD2eW_GJuGNBrN7xPafKFhmgKiNi-zvZz-g,3830
45
45
  fprime_gds/common/encoders/pkt_encoder.py,sha256=6hzwrAEg1tjGw9yGycWMuNgbGCoe87Cd-7eP1rvy2d4,3126
46
- fprime_gds/common/encoders/seq_writer.py,sha256=rH1I8trAHBKjqxQtNg1isTmLWqAjK3xtZbETTCp6RQI,6882
46
+ fprime_gds/common/encoders/seq_writer.py,sha256=g0Rmnlw4qLgJn290ORzJ21jZo0gB2dTvHFWs4pzbmio,6880
47
47
  fprime_gds/common/files/File Decoder Documentation.txt,sha256=a-VYHcUMqh7mBGY2fqvMf1nd3gdg3cLdPKwrulNKXjc,5314
48
48
  fprime_gds/common/files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
49
  fprime_gds/common/files/downlinker.py,sha256=CZPfhH0J9-LNqW5Cv_ryicLTuoedLSWK8OPQmmQDZZY,7498
@@ -59,10 +59,10 @@ fprime_gds/common/fpy/parser.py,sha256=g-l67oZN_vB1JAdZ5S3u9m8APf6PdJ88GZyz0iX66
59
59
  fprime_gds/common/fpy/bytecode/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
60
  fprime_gds/common/fpy/bytecode/directives.py,sha256=tBpPQ2ZnQXA7juB85HhacDdil1vEHUKW8m_AsMf1KdQ,13360
61
61
  fprime_gds/common/gds_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
- fprime_gds/common/gds_cli/base_commands.py,sha256=nHnzHRMXs9haRjiUmq-Ciu1DSo1BXtcVscByk1Ypsxo,9432
63
- fprime_gds/common/gds_cli/channels.py,sha256=S8y0Mo2JbBFPvMzeW22HFVJ8p-UC-tzpYM7rXqIGWi4,2136
64
- fprime_gds/common/gds_cli/command_send.py,sha256=pMPwCixiuhk3r1mP7IbHLlItxYf_np8ez0hGhH0yTUw,6608
65
- fprime_gds/common/gds_cli/events.py,sha256=EpaUfDEaXvPwKu7qutkuU1f8zrFoVNsbyCIGUFUloWI,2123
62
+ fprime_gds/common/gds_cli/base_commands.py,sha256=js4SAXPfDYy_ewIL27066XylExxh9S1A-e4NNChWf9s,9430
63
+ fprime_gds/common/gds_cli/channels.py,sha256=BvADGBrsJ2G9zcGpSwJlxLRFiY1bUxtQSTfEOlA3UME,2134
64
+ fprime_gds/common/gds_cli/command_send.py,sha256=SnDBbwKzNluG-yJSsmsQJpNBPmv4O7nMvG6qYbdpI64,6606
65
+ fprime_gds/common/gds_cli/events.py,sha256=9Jpk0C7VI-KldFxo7neaG2MpcKhqH2VE2xaV8G-5pSw,2121
66
66
  fprime_gds/common/gds_cli/filtering_utils.py,sha256=2LxT9tzuNvnwm7HVItv87XkO6K29nOBift2bYcYn3zg,7554
67
67
  fprime_gds/common/gds_cli/test_api_utils.py,sha256=VphGie_VxTMZQGz6p_5AjdEZWXqKJTohrqslRS8VnNU,5109
68
68
  fprime_gds/common/history/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -88,19 +88,18 @@ fprime_gds/common/logger/__init__.py,sha256=TLUbrAnkCtckKGsLzh4hXgEshwQfZsWMDaOO
88
88
  fprime_gds/common/logger/data_logger.py,sha256=VjfhTGO1gGw954xNhSc0_zpw8JexCho5f8BlXDEYkL4,2505
89
89
  fprime_gds/common/logger/test_logger.py,sha256=wL8Lq49sVmxGRALgv-ei6AnXFh79qlHFehmKJ1A8X28,6475
90
90
  fprime_gds/common/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
+ fprime_gds/common/models/dictionaries.py,sha256=8HRnSrg6yVOlep17qFWdJzKJ7gZIoNGA-bCabuITyM8,8091
91
92
  fprime_gds/common/models/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
- fprime_gds/common/models/common/channel_telemetry.py,sha256=UkLIgWLgVNi2AmPnuT3k9pAmUqNuw2zYHj_r6dB3q5o,4305
93
93
  fprime_gds/common/models/common/command.py,sha256=ASih9dwR_7F94nR1CV7cIuZEJSuaUAzX7JU2_lCAg4g,5476
94
- fprime_gds/common/models/common/event.py,sha256=gSFrCJT9ZddGJfkf3fGCCqk0aMIQV-SNeAhCX6hnbrc,3386
95
94
  fprime_gds/common/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
95
  fprime_gds/common/parsers/seq_file_parser.py,sha256=6DZrA0jmt8IqsutfK7pdLtYn4oVHO593rWgAOH63yRg,9587
97
96
  fprime_gds/common/pipeline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
- fprime_gds/common/pipeline/dictionaries.py,sha256=x3QCZAg6YB9bEumZ330PGo0ilJqODGyo_K70RgbQ53M,8009
99
97
  fprime_gds/common/pipeline/encoding.py,sha256=PttJ8NmXm75mLXyhlmxOJqE8RFt46q1dThaV19PyAr4,7216
100
98
  fprime_gds/common/pipeline/files.py,sha256=J2zm0sucvImtmSnv0iUp5uTpvUO8nlmz2lUdMuMC5aM,2244
101
99
  fprime_gds/common/pipeline/histories.py,sha256=7KyboNnm9OARQk4meVPSSeYpeqH0G8RWRiy0BLBL1rw,3671
100
+ fprime_gds/common/pipeline/publishing.py,sha256=A0Hb4RpK7RCBDN9BEiJZr9WQMSrmohYXCFOuzl23mPo,3953
102
101
  fprime_gds/common/pipeline/router.py,sha256=-P1wI0KXEh_snOzDaq8CjEoWuM_zRm8vUMR1T0oY9qQ,2327
103
- fprime_gds/common/pipeline/standard.py,sha256=fDSPfyhYPMNhev5IQG2j51sCtQxXZ5PrqmulKH8TNjE,9778
102
+ fprime_gds/common/pipeline/standard.py,sha256=Gj-TPWoCWN-zp6uI2o_TI9jANJ7I7hmXOujgwJ8PlMo,9126
104
103
  fprime_gds/common/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
104
  fprime_gds/common/templates/ch_template.py,sha256=1MoDZsia0dI_CvnIttwyKLhbQhum35OcJnFc50Xohuo,3893
106
105
  fprime_gds/common/templates/cmd_template.py,sha256=n91z4WhFgHwTu6_fQqy7JqpkEObAkllIeEy0AR0DvrQ,5455
@@ -109,7 +108,7 @@ fprime_gds/common/templates/event_template.py,sha256=L0hkWB_kEMhTNodPUqBAev76SMm
109
108
  fprime_gds/common/templates/pkt_template.py,sha256=5Wi6389m5j8w7JITBGfeUnw6CYE1-hjcVJ42NJmLDcE,1794
110
109
  fprime_gds/common/templates/prm_template.py,sha256=qd0UX4ARZuPWvnFbU_DO3HkQY4QgMfqPxNcNhk-dl9A,2303
111
110
  fprime_gds/common/testing_fw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
- fprime_gds/common/testing_fw/api.py,sha256=lnDiyCrnj8Q8uzrmPeFOewSUPX_BvHRisY2jk-4G3eg,66045
111
+ fprime_gds/common/testing_fw/api.py,sha256=ATxIUWVMjoVUllTr0zd42--xgHE1g_OJKq4ec0UFd5k,67848
113
112
  fprime_gds/common/testing_fw/predicates.py,sha256=CsHsVs_EVXCLQLd2NVOvy8MxmUQVxLMr3i1ouEUqOtQ,18371
114
113
  fprime_gds/common/testing_fw/pytest_integration.py,sha256=CAvuH9_3RuKplKQVB3t_jerPr-LPzwPWoM6z3lMs16g,6203
115
114
  fprime_gds/common/tools/README.md,sha256=WVEciyfsbEVGmb9xR5A6Ioy5pBVnCsWOIJfySLeq9YM,2325
@@ -117,17 +116,18 @@ fprime_gds/common/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
117
116
  fprime_gds/common/tools/params.py,sha256=htnMLlUW9HmBo4Qc7kYhnWr1sO6bK2mckdskLt5rDUk,9323
118
117
  fprime_gds/common/tools/seqgen.py,sha256=O57igktjWku5OJhBqezhCjPYUmh4GZM-9qKCChqEW7g,6034
119
118
  fprime_gds/common/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
- fprime_gds/common/utils/config_manager.py,sha256=EurtNdApA9zpIjAXmGSTgFUen0UaVDryH5g9LwMhu1E,5539
119
+ fprime_gds/common/utils/config_manager.py,sha256=dMqN204UKLiZzIs7-d--fdYMQ8kBzTX56xexkgFq18s,5550
121
120
  fprime_gds/common/utils/data_desc_type.py,sha256=0AkEMfEa5refd_moovf1hkgKiNakADRzv4soghvf9a4,883
122
121
  fprime_gds/common/utils/event_severity.py,sha256=7qPXHrDaM_REJ7sKBUEJTZIE0D4qVnVajsPDUuHg7sI,300
123
122
  fprime_gds/common/utils/string_util.py,sha256=u_2iahRG3ROu3lAAt_KVcK226gEByElXqrA8mH8eDpI,3584
124
123
  fprime_gds/executables/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
- fprime_gds/executables/apps.py,sha256=u79T_PlgMmNmA4YwWjs7LvPMCJnrjnURr05NMthOYP0,13350
126
- fprime_gds/executables/cli.py,sha256=Qqq3JQOqTsfDRsbTALw25xnwN7fCEVlpcKDV4jvGopQ,50961
124
+ fprime_gds/executables/apps.py,sha256=_OLWxby1XvYmmDcecsOAKu34XGf952_ya5uRWf_8Y3I,15127
125
+ fprime_gds/executables/cli.py,sha256=OqcBOpvnj8f8wZjntfbr-pNzCEF3P_-eA58kBqK7iDg,52216
127
126
  fprime_gds/executables/comm.py,sha256=08rO0o0MJgTRngB7Ygu2IL_gEAWKF7WFvFyro1CqReE,5214
128
127
  fprime_gds/executables/data_product_writer.py,sha256=e1Rp2LT_Cpg08f0Ki8GhirC7Wn6LtYiAef7KLAkZHUY,37773
129
- fprime_gds/executables/fprime_cli.py,sha256=CMoT7zWNwM8h2mSZW03AR96wl_XnZXoLNiOZN_sDi38,12431
130
- fprime_gds/executables/run_deployment.py,sha256=Zl0Y9-6i6c8tZhcS7XkAeVQtzn0d9fV-3UJQZ0bnBrc,7237
128
+ fprime_gds/executables/dictionary_merge.py,sha256=3Zy8LcbEdBwmNX2GLN_Nr1DfbLyWYHg-y4jdjTVCXgY,7966
129
+ fprime_gds/executables/fprime_cli.py,sha256=9_eNU7AzUOMhz4FLPkD_byA9C13c509wGPZN-kdw9Ok,12429
130
+ fprime_gds/executables/run_deployment.py,sha256=4K3isTF7C8FojFvzxLC8vaj1GZpKOuPZQ3CtIYdyhRE,7638
131
131
  fprime_gds/executables/tcpserver.py,sha256=KspVpu5YIuiWKOk5E6UDMKvqXYrRB1j9aX8CkMxysfw,17555
132
132
  fprime_gds/executables/utils.py,sha256=SbzXRe1p41qMPdifvPap5_4v0T42gZZ_Rs_OYfITd80,7626
133
133
  fprime_gds/flask/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -244,10 +244,10 @@ fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff2,sha256=mDS4KtJuK
244
244
  fprime_gds/plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
245
245
  fprime_gds/plugin/definitions.py,sha256=QlxW1gNvoiqGMslSJjh3dTFZuv0igFHawN__3XJ0Wns,5355
246
246
  fprime_gds/plugin/system.py,sha256=M9xb-8jBhCUUx3X1z2uAP8Wx_v6NkL8JeaFgGcMnQqY,13432
247
- fprime_gds-4.0.1.dist-info/licenses/LICENSE.txt,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
248
- fprime_gds-4.0.1.dist-info/licenses/NOTICE.txt,sha256=vXjA_xRcQhd83Vfk5D_vXg5kOjnnXvLuMi5vFKDEVmg,1612
249
- fprime_gds-4.0.1.dist-info/METADATA,sha256=vl63LzQIM8HX9jfV3JtcjkmpxnhIpN8D46AEBuBJPoY,24574
250
- fprime_gds-4.0.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
251
- fprime_gds-4.0.1.dist-info/entry_points.txt,sha256=V2XMHMUJUGTVx5s3_kK1jLmoxSKE1vvj2XWHH9y49WQ,423
252
- fprime_gds-4.0.1.dist-info/top_level.txt,sha256=6vzFLIX6ANfavKaXFHDMSLFtS94a6FaAsIWhjgYuSNE,27
253
- fprime_gds-4.0.1.dist-info/RECORD,,
247
+ fprime_gds-4.0.2a2.dist-info/licenses/LICENSE.txt,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
248
+ fprime_gds-4.0.2a2.dist-info/licenses/NOTICE.txt,sha256=vXjA_xRcQhd83Vfk5D_vXg5kOjnnXvLuMi5vFKDEVmg,1612
249
+ fprime_gds-4.0.2a2.dist-info/METADATA,sha256=t7Idkx-zA1DrvKJaxm_zVGZoTDFxw_UJtLY35Xje4R4,24576
250
+ fprime_gds-4.0.2a2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
251
+ fprime_gds-4.0.2a2.dist-info/entry_points.txt,sha256=16r0xeF-Qn-ducW_QvHiyrFnNjnLK-OOaTbqQIQpd0o,494
252
+ fprime_gds-4.0.2a2.dist-info/top_level.txt,sha256=6vzFLIX6ANfavKaXFHDMSLFtS94a6FaAsIWhjgYuSNE,27
253
+ fprime_gds-4.0.2a2.dist-info/RECORD,,
@@ -3,6 +3,7 @@ fprime-cli = fprime_gds.executables.fprime_cli:main
3
3
  fprime-dp-write = fprime_gds.executables.data_product_writer:main
4
4
  fprime-fpyc = fprime_gds.common.fpy.main:main
5
5
  fprime-gds = fprime_gds.executables.run_deployment:main
6
+ fprime-merge-dictionary = fprime_gds.executables.dictionary_merge:main
6
7
  fprime-prm-write = fprime_gds.common.tools.params:main
7
8
  fprime-seqgen = fprime_gds.common.tools.seqgen:main
8
9
 
@@ -1,174 +0,0 @@
1
- """
2
- Created on Apr. 27, 2015
3
-
4
- @author: reder
5
- """
6
-
7
- from fprime.common.models.serialize.type_base import BaseType
8
-
9
- # Import the types this way so they do not need prefixing for execution.
10
- from fprime.common.models.serialize.type_exceptions import (
11
- TypeException,
12
- TypeMismatchException,
13
- )
14
-
15
-
16
- class Channel:
17
- """
18
- Channel class is for deserialize channel telemetry value.
19
- Really this is a container since the type will have it's own deserialize
20
- implementation.
21
- """
22
-
23
- def __init__(
24
- self,
25
- name,
26
- channel_id,
27
- comp_name,
28
- ch_description,
29
- ch_type,
30
- ch_format_string,
31
- low_red,
32
- low_orange,
33
- low_yellow,
34
- high_yellow,
35
- high_orange,
36
- high_red,
37
- ):
38
- """
39
- Constructor
40
- """
41
- #
42
- # Make sure correct types are passed
43
- #
44
- if not isinstance(name, str):
45
- raise TypeMismatchException(str, type(name))
46
-
47
- if not isinstance(channel_id, int):
48
- raise TypeMismatchException(int, type(channel_id))
49
-
50
- if not isinstance(ch_description, str):
51
- raise TypeMismatchException(str, type(ch_description))
52
-
53
- if not isinstance(ch_type, BaseType):
54
- raise TypeMismatchException(BaseType, type(ch_type))
55
-
56
- # Initialize event internal variables
57
- self.__name = name
58
- self.__comp_name = comp_name
59
- self.__id = channel_id
60
- self.__ch_desc = ch_description
61
- self.__ch_type = ch_type
62
- self.__format_string = ch_format_string
63
- self.__low_red = low_red
64
- self.__low_orange = low_orange
65
- self.__low_yellow = low_yellow
66
- self.__high_yellow = high_yellow
67
- self.__high_orange = high_orange
68
- self.__high_red = high_red
69
- #
70
- self.__time_base = None
71
- self.__time_context = None
72
- self.__time_sec = None
73
- self.__time_usec = None
74
- #
75
- self.__changed = False
76
-
77
- def deserialize(self, ser_data, offset):
78
- """
79
- Deserialize event arguments
80
- :param ser_data: Binary input of the channel value.
81
- :param offset: offset in data to deserialize from
82
- :return: value from deserialized channel
83
- """
84
- try:
85
- self.__ch_type.deserialize(ser_data, offset)
86
- val = self.__ch_type.val
87
- except TypeException as e:
88
- print(f"Channel deserialize exception {e.getMsg()}")
89
- val = "ERR"
90
-
91
- #
92
- return val
93
-
94
- def setTime(self, time_base, time_context, time_sec, time_usec):
95
- """
96
- Channel telemetry time updater.
97
- """
98
- self.__time_base = time_base
99
- self.__time_context = time_context
100
- self.__time_sec = time_sec
101
- self.__time_usec = time_usec
102
-
103
- def getTime(self):
104
- """
105
- Return time tuple for UI updater use.
106
- """
107
- return (
108
- self.__time_base,
109
- self.__time_context,
110
- self.__time_sec,
111
- self.__time_usec,
112
- )
113
-
114
- def getName(self):
115
- return self.__name
116
-
117
- def getCompName(self):
118
- return self.__comp_name
119
-
120
- def getId(self):
121
- return self.__id
122
-
123
- def getChDesc(self):
124
- return self.__ch_desc
125
-
126
- def getType(self):
127
- return self.__ch_type
128
-
129
- def getTimeBase(self):
130
- return self.__time_base
131
-
132
- def getTimeContext(self):
133
- return self.__time_context
134
-
135
- def getTimeSec(self):
136
- return self.__time_sec
137
-
138
- def getTimeUsec(self):
139
- return self.__time_usec
140
-
141
- def getFormatString(self):
142
- return self.__format_string
143
-
144
- def getLowRed(self):
145
- return self.__low_red
146
-
147
- def getLowOrange(self):
148
- return self.__low_orange
149
-
150
- def getLowYellow(self):
151
- return self.__low_yellow
152
-
153
- def getHighYellow(self):
154
- return self.__high_yellow
155
-
156
- def getHighOrange(self):
157
- return self.__high_orange
158
-
159
- def getHighRed(self):
160
- return self.__high_red
161
-
162
- @property
163
- def changed(self):
164
- """
165
- change is True if recently updated.
166
- change is False if not changed.
167
- """
168
- return self.__changed
169
-
170
- @changed.setter
171
- def changed(self, ch):
172
- if ch is not False or ch is not True:
173
- ch = True
174
- self.__changed = ch
@@ -1,121 +0,0 @@
1
- """
2
- Created on Feb. 9, 2015
3
-
4
- @author: reder
5
- """
6
-
7
- import traceback
8
- from enum import Enum
9
-
10
- from fprime.common.models.serialize.type_base import BaseType
11
-
12
- # Import the types this way so they do not need prefixing for execution.
13
- from fprime.common.models.serialize.type_exceptions import (
14
- TypeException,
15
- TypeMismatchException,
16
- )
17
-
18
- Severity = Enum(
19
- "Severity", "COMMAND ACTIVITY_LO ACTIVITY_HI WARNING_LO WARNING_HI DIAGNOSTIC FATAL"
20
- )
21
-
22
-
23
- class Event:
24
- """
25
- Event class is for deserializing log event messages.
26
- THis is essentially the equivalent of EVR's in MSL, SMAP, etc.
27
- """
28
-
29
- def __init__(
30
- self, name, event_id, severity, format_string, event_description, arguments
31
- ):
32
- """
33
- Constructor
34
- """
35
-
36
- # Make sure correct types are passed
37
-
38
- if not isinstance(name, str):
39
- raise TypeMismatchException(str, type(name))
40
-
41
- if not isinstance(event_id, int):
42
- raise TypeMismatchException(int, type(event_id))
43
-
44
- if not isinstance(format_string, str):
45
- raise TypeMismatchException(str, type(format_string))
46
-
47
- if not isinstance(event_description, str):
48
- raise TypeMismatchException(str, type(event_description))
49
-
50
- if not isinstance(arguments, list):
51
- raise TypeMismatchException(list, type(arguments))
52
-
53
- for (argname, argdesc, argtype) in arguments:
54
- #
55
- if not isinstance(argname, str):
56
- raise TypeMismatchException(str, type(argname))
57
- #
58
- if not isinstance(argdesc, str):
59
- raise TypeMismatchException(str, type(argdesc))
60
- #
61
- if not isinstance(argtype, BaseType):
62
- raise TypeMismatchException(BaseType, type(argtype))
63
-
64
- # Initialize event internal variables
65
- self.__name = name
66
- self.__id = event_id
67
- self.__severity = severity
68
- self.__format_string = format_string
69
- self.__event_description = event_description
70
- self.__arguments = arguments
71
-
72
- def deserialize(self, ser_data):
73
- """
74
- Deserialize event arguments
75
- @param ser_data: Binary input data of id followed by args
76
- """
77
- vals = []
78
- #
79
- # Next parse the arguments.
80
- #
81
- args = list(self.__arguments)
82
- offset = 0
83
- for arg in args:
84
- arg_obj = arg[2]
85
- try:
86
- # print arg_obj
87
- arg_obj.deserialize(ser_data, offset)
88
- vals.append(arg_obj.val)
89
- except TypeException as e:
90
- print(f"Event deserialize exception {e.getMsg()}")
91
- traceback.print_exc()
92
- vals.append("ERR")
93
- offset = offset + arg_obj.getSize()
94
-
95
- vals = [0] + vals
96
- return vals
97
-
98
- def stringify(self, event_args_list):
99
- """
100
- Return a formatted string of event args.
101
- """
102
- # print event_args_list
103
- return self.__format_string % tuple(event_args_list[1:])
104
-
105
- def getName(self):
106
- return self.__name
107
-
108
- def getId(self):
109
- return self.__id
110
-
111
- def getSeverity(self):
112
- return self.__severity
113
-
114
- def getFormatString(self):
115
- return self.__format_string
116
-
117
- def getEventDescription(self):
118
- return self.__event_description
119
-
120
- def getArgs(self):
121
- return self.__arguments