@science-corporation/synapse 0.13.0 → 2.0.0

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 (88) hide show
  1. package/README.md +4 -2
  2. package/dist/api/api.d.ts +711 -71
  3. package/dist/api/api.js +5532 -4083
  4. package/dist/api/api.js.map +1 -1
  5. package/dist/api/proto.json +122 -32
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +4 -2
  8. package/dist/config.js.map +1 -1
  9. package/dist/demo.js +125 -32
  10. package/dist/demo.js.map +1 -1
  11. package/dist/device.d.ts +6 -0
  12. package/dist/device.d.ts.map +1 -1
  13. package/dist/device.js +25 -0
  14. package/dist/device.js.map +1 -1
  15. package/dist/nodes/index.d.ts +2 -1
  16. package/dist/nodes/index.d.ts.map +1 -1
  17. package/dist/nodes/index.js +5 -3
  18. package/dist/nodes/index.js.map +1 -1
  19. package/dist/nodes/spike_binner.d.ts +11 -0
  20. package/dist/nodes/{spike_detect.d.ts.map → spike_binner.d.ts.map} +1 -1
  21. package/dist/nodes/spike_binner.js +28 -0
  22. package/dist/nodes/{spike_detect.js.map → spike_binner.js.map} +1 -1
  23. package/dist/nodes/spike_detector.d.ts +11 -0
  24. package/dist/nodes/spike_detector.d.ts.map +1 -0
  25. package/dist/nodes/{spike_detect.js → spike_detector.js} +9 -9
  26. package/dist/nodes/spike_detector.js.map +1 -0
  27. package/dist/nodes/stream_out.d.ts +12 -5
  28. package/dist/nodes/stream_out.d.ts.map +1 -1
  29. package/dist/nodes/stream_out.js +58 -40
  30. package/dist/nodes/stream_out.js.map +1 -1
  31. package/dist/utils/ip.d.ts +2 -0
  32. package/dist/utils/ip.d.ts.map +1 -0
  33. package/dist/utils/ip.js +52 -0
  34. package/dist/utils/ip.js.map +1 -0
  35. package/package.json +6 -5
  36. package/scripts/postinstall.sh +50 -10
  37. package/src/api/api.d.ts +711 -71
  38. package/src/api/api.js +5671 -4121
  39. package/src/api/proto.json +122 -32
  40. package/src/config.ts +4 -2
  41. package/src/demo.ts +20 -8
  42. package/src/device.ts +34 -1
  43. package/src/nodes/index.ts +2 -1
  44. package/src/nodes/spike_binner.ts +30 -0
  45. package/src/nodes/spike_detector.ts +30 -0
  46. package/src/nodes/stream_out.ts +67 -50
  47. package/src/utils/ip.ts +35 -0
  48. package/synapse-api/.github/pull_request_template.md +10 -0
  49. package/synapse-api/README.md +1 -1
  50. package/synapse-api/api/datatype.proto +1 -0
  51. package/synapse-api/api/node.proto +6 -3
  52. package/synapse-api/api/nodes/spike_binner.proto +7 -0
  53. package/synapse-api/api/nodes/spike_detector.proto +19 -0
  54. package/synapse-api/api/nodes/stream_out.proto +31 -1
  55. package/synapse-api/api/query.proto +19 -1
  56. package/synapse-api/api/synapse.proto +1 -0
  57. package/dist/api-science-device/api.d.ts +0 -3
  58. package/dist/api-science-device/api.d.ts.map +0 -1
  59. package/dist/api-science-device/api.js +0 -3822
  60. package/dist/api-science-device/api.js.map +0 -1
  61. package/dist/api-science-device/proto.json +0 -258
  62. package/dist/nodejs.d.ts +0 -8
  63. package/dist/nodejs.d.ts.map +0 -1
  64. package/dist/nodejs.js +0 -32
  65. package/dist/nodejs.js.map +0 -1
  66. package/dist/nodes/spike_detect.d.ts +0 -11
  67. package/dist/science-device-api/api.d.ts +0 -3
  68. package/dist/science-device-api/api.d.ts.map +0 -1
  69. package/dist/science-device-api/api.js +0 -3822
  70. package/dist/science-device-api/api.js.map +0 -1
  71. package/dist/types/index.d.ts +0 -3
  72. package/dist/types/index.d.ts.map +0 -1
  73. package/dist/types/index.js +0 -19
  74. package/dist/types/index.js.map +0 -1
  75. package/dist/types.d.ts +0 -5
  76. package/dist/types.d.ts.map +0 -1
  77. package/dist/types.js +0 -19
  78. package/dist/types.js.map +0 -1
  79. package/dist/utils/device-management.d.ts +0 -37
  80. package/dist/utils/device-management.d.ts.map +0 -1
  81. package/dist/utils/device-management.js +0 -126
  82. package/dist/utils/device-management.js.map +0 -1
  83. package/dist/utils/ndtp.d.ts +0 -40
  84. package/dist/utils/ndtp.d.ts.map +0 -1
  85. package/dist/utils/ndtp.js +0 -140
  86. package/dist/utils/ndtp.js.map +0 -1
  87. package/src/nodes/spike_detect.ts +0 -30
  88. package/synapse-api/api/nodes/spike_detect.proto +0 -16
@@ -6,12 +6,13 @@ import "api/datatype.proto";
6
6
  import "api/nodes/broadband_source.proto";
7
7
  import "api/nodes/electrical_stimulation.proto";
8
8
  import "api/nodes/optical_stimulation.proto";
9
- import "api/nodes/spike_detect.proto";
9
+ import "api/nodes/spike_detector.proto";
10
10
  import "api/nodes/spectral_filter.proto";
11
11
  import "api/nodes/stream_out.proto";
12
12
  import "api/nodes/stream_in.proto";
13
13
  import "api/nodes/disk_writer.proto";
14
14
  import "api/nodes/spike_source.proto";
15
+ import "api/nodes/spike_binner.proto";
15
16
 
16
17
  enum NodeType {
17
18
  kNodeTypeUnknown = 0;
@@ -20,10 +21,11 @@ enum NodeType {
20
21
  kBroadbandSource = 3;
21
22
  kElectricalStimulation = 4;
22
23
  kOpticalStimulation = 5;
23
- kSpikeDetect = 6;
24
+ kSpikeDetector = 6;
24
25
  kSpikeSource = 7;
25
26
  kSpectralFilter = 8;
26
27
  kDiskWriter = 9;
28
+ kSpikeBinner = 10;
27
29
  }
28
30
 
29
31
  message NodeConfig {
@@ -35,10 +37,11 @@ message NodeConfig {
35
37
  BroadbandSourceConfig broadband_source = 5;
36
38
  ElectricalStimulationConfig electrical_stimulation = 6;
37
39
  OpticalStimulationConfig optical_stimulation = 8;
38
- SpikeDetectConfig spike_detect = 9;
40
+ SpikeDetectorConfig spike_detector = 9;
39
41
  SpectralFilterConfig spectral_filter = 10;
40
42
  DiskWriterConfig disk_writer = 11;
41
43
  SpikeSourceConfig spike_source = 12;
44
+ SpikeBinnerConfig spike_binner = 13;
42
45
  }
43
46
  }
44
47
 
@@ -0,0 +1,7 @@
1
+ syntax = "proto3";
2
+
3
+ package synapse;
4
+
5
+ message SpikeBinnerConfig {
6
+ uint32 bin_size_ms = 1;
7
+ }
@@ -0,0 +1,19 @@
1
+ syntax = "proto3";
2
+
3
+ package synapse;
4
+
5
+ message TemplateMatcher {
6
+ repeated uint32 template_uV = 1;
7
+ }
8
+
9
+ message Thresholder {
10
+ uint32 threshold_uV = 1;
11
+ }
12
+
13
+ message SpikeDetectorConfig {
14
+ oneof config {
15
+ Thresholder thresholder = 1;
16
+ TemplateMatcher template_matcher = 2;
17
+ }
18
+ uint32 samples_per_spike = 3;
19
+ }
@@ -2,11 +2,41 @@ syntax = "proto3";
2
2
 
3
3
  package synapse;
4
4
 
5
+ /**
6
+ * UDPUnicastConfig defines the configuration parameters for UDP unicast transport.
7
+ */
8
+ message UDPUnicastConfig {
9
+ // IPv4 or IPv6 address of the destination endpoint
10
+ string destination_address = 1;
11
+
12
+ // Destination port number, 0 to 65535
13
+ uint32 destination_port = 2;
14
+ }
15
+
16
+ /**
17
+ * StreamOutConfig defines the configuration for an outbound data stream.
18
+ * Clients can request to create a new outbound stream by providing a transport
19
+ */
5
20
  message StreamOutConfig {
21
+ // Human-readable identifier for the stream
6
22
  string label = 1;
7
- string multicast_group = 2;
23
+
24
+ // Transport-specific configuration
25
+ // Only one transport type can be specified at a time
26
+ oneof transport {
27
+ // Configure for UDP unicast support. Only one destination is supported
28
+ UDPUnicastConfig udp_unicast = 2;
29
+ }
8
30
  }
9
31
 
32
+ /**
33
+ * StreamOutStatus provides status information for an outbound stream.
34
+ * It contains data about the instantaneous performance of the stream
35
+ */
10
36
  message StreamOutStatus {
37
+ // Current throughput of the stream in megabits per second
11
38
  float throughput_mbps = 1;
39
+
40
+ // How many failed packet sends have happened since the start of the stream
41
+ uint64 failed_send_count = 2;
12
42
  }
@@ -55,6 +55,12 @@ message QueryRequest {
55
55
  }
56
56
  }
57
57
 
58
+ message StreamQueryRequest {
59
+ QueryRequest request = 1;
60
+
61
+ // Other options to fill in specific to a stream
62
+ }
63
+
58
64
  message QueryResponse {
59
65
  Status status = 1;
60
66
  repeated uint32 data = 2;
@@ -62,4 +68,16 @@ message QueryResponse {
62
68
  ImpedanceResponse impedance_response = 3;
63
69
  SelfTestResponse self_test_response = 4;
64
70
  }
65
- }
71
+ }
72
+
73
+ message StreamQueryResponse {
74
+ StatusCode code = 1;
75
+ string message = 2;
76
+ uint64 timestamp_ns = 3;
77
+
78
+ // We need to switch on the test being run
79
+ oneof response {
80
+ ImpedanceResponse impedance = 4;
81
+ SelfTestResponse self_test = 5;
82
+ }
83
+ }
@@ -45,6 +45,7 @@ service SynapseDevice {
45
45
  rpc Start(google.protobuf.Empty) returns (Status) {}
46
46
  rpc Stop(google.protobuf.Empty) returns (Status) {}
47
47
  rpc Query(QueryRequest) returns (QueryResponse) {}
48
+ rpc StreamQuery(StreamQueryRequest) returns (stream StreamQueryResponse) {}
48
49
 
49
50
  rpc ListFiles(google.protobuf.Empty) returns (ListFilesResponse) {}
50
51
  rpc WriteFile(WriteFileRequest) returns (WriteFileResponse) {}
@@ -1,3 +0,0 @@
1
- declare const _exports: any;
2
- export = _exports;
3
- //# sourceMappingURL=api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api-science-device/api.js"],"names":[],"mappings":""}