@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
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/science-device-api/api.js"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export * from "../api/api";
2
- export * from "../api-science-device/api";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("../api/api"), exports);
18
- __exportStar(require("../api-science-device/api"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,4DAA0C"}
package/dist/types.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export * from "./api/api";
2
- export * from "./api-science-device/api";
3
- export type { CallOptions } from "./utils/client";
4
- export type { Status, IStatus } from "./utils/status";
5
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/types.js DELETED
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./api/api"), exports);
18
- __exportStar(require("./api-science-device/api"), exports);
19
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2DAAyC"}
@@ -1,37 +0,0 @@
1
- import { Channel } from "@grpc/grpc-js";
2
- import { science } from "../api-science-device/api";
3
- import { CallOptions } from "./client";
4
- import { Status } from "./status";
5
- declare class DeviceManager {
6
- uri: string;
7
- rpc_auth: any | null;
8
- rpc_update: any | null;
9
- channel: Channel | null;
10
- constructor(uri: string);
11
- authenticateDevice(request: science.IDeviceAuthenticationRequest, options?: CallOptions): Promise<{
12
- status: Status;
13
- response?: science.DeviceAuthenticationResponse;
14
- }>;
15
- listKeys(request: science.IListKeysRequest, options?: CallOptions): Promise<{
16
- status: Status;
17
- response?: science.ListKeysResponse;
18
- }>;
19
- revokeKey(request: science.IRevokeKeyRequest, options?: CallOptions): Promise<{
20
- status: Status;
21
- response?: science.RevokeKeyResponse;
22
- }>;
23
- listPackages(request: science.IListPackagesRequest, options?: CallOptions): Promise<{
24
- status: Status;
25
- response?: science.ListPackagesResponse;
26
- }>;
27
- updatePackages(request: science.IUpdatePackagesRequest, options?: CallOptions): Promise<{
28
- status: Status;
29
- response?: science.UpdateResult;
30
- }>;
31
- uploadPackage(request: science.IUpdatePackageChunk, options?: CallOptions): Promise<{
32
- status: Status;
33
- response?: science.UpdateResult;
34
- }>;
35
- }
36
- export default DeviceManager;
37
- //# sourceMappingURL=device-management.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"device-management.d.ts","sourceRoot":"","sources":["../../src/utils/device-management.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA6B,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAU,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,cAAM,aAAa;IAKE,GAAG,EAAE,MAAM;IAJ9B,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAQ;IAC5B,UAAU,EAAE,GAAG,GAAG,IAAI,CAAQ;IAC9B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAQ;gBAEZ,GAAG,EAAE,MAAM;IAsBxB,kBAAkB,CACtB,OAAO,EAAE,OAAO,CAAC,4BAA4B,EAC7C,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAA;KAAE,CAAC;IAgBzE,QAAQ,CACZ,OAAO,EAAE,OAAO,CAAC,gBAAgB,EACjC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAA;KAAE,CAAC;IAY7D,SAAS,CACb,OAAO,EAAE,OAAO,CAAC,iBAAiB,EAClC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAA;KAAE,CAAC;IAc9D,YAAY,CAChB,OAAO,EAAE,OAAO,CAAC,oBAAoB,EACrC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAA;KAAE,CAAC;IAYjE,cAAc,CAClB,OAAO,EAAE,OAAO,CAAC,sBAAsB,EACvC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,YAAY,CAAA;KAAE,CAAC;IAYzD,aAAa,CACjB,OAAO,EAAE,OAAO,CAAC,mBAAmB,EACpC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,YAAY,CAAA;KAAE,CAAC;CAWhE;AAED,eAAe,aAAa,CAAC"}
@@ -1,126 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const grpc_js_1 = require("@grpc/grpc-js");
16
- const proto_json_1 = __importDefault(require("../api-science-device/proto.json"));
17
- const client_1 = require("./client");
18
- const status_1 = require("./status");
19
- const kDeviceAuthService = "science.DeviceAuthService";
20
- const kDeviceUpdateService = "science.SynapseUpdate";
21
- class DeviceManager {
22
- constructor(uri) {
23
- this.uri = uri;
24
- this.rpc_auth = null;
25
- this.rpc_update = null;
26
- this.channel = null;
27
- const { status: statusAuth, client: clientAuth } = (0, client_1.create)(proto_json_1.default, kDeviceAuthService)(uri, grpc_js_1.credentials.createInsecure());
28
- if (!statusAuth.ok() || !clientAuth) {
29
- throw new Error(`Failed to create client for ${uri}: ${statusAuth.message}`);
30
- }
31
- this.rpc_auth = clientAuth;
32
- const { status: statusUpdate, client: clientUpdate } = (0, client_1.create)(proto_json_1.default, kDeviceUpdateService)(uri, grpc_js_1.credentials.createInsecure());
33
- if (!statusUpdate.ok() || !clientUpdate) {
34
- throw new Error(`Failed to create client for ${uri}: ${statusUpdate.message}`);
35
- }
36
- this.rpc_update = clientUpdate;
37
- }
38
- // Authentication
39
- authenticateDevice(request, options) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- return new Promise((resolve, reject) => {
42
- this.rpc_auth.authenticateDevice(request, options, (err, response) => {
43
- if (err) {
44
- reject(err);
45
- }
46
- else {
47
- resolve({ status: new status_1.Status(), response });
48
- }
49
- });
50
- });
51
- });
52
- }
53
- listKeys(request, options) {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- return new Promise((resolve, reject) => {
56
- this.rpc_auth.listKeys(request, options, (err, response) => {
57
- if (err) {
58
- reject(err);
59
- }
60
- else {
61
- resolve({ status: new status_1.Status(), response });
62
- }
63
- });
64
- });
65
- });
66
- }
67
- revokeKey(request, options) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- return new Promise((resolve, reject) => {
70
- this.rpc_auth.revokeKey(request, options, (err, response) => {
71
- if (err) {
72
- reject(err);
73
- }
74
- else {
75
- resolve({ status: new status_1.Status(), response });
76
- }
77
- });
78
- });
79
- });
80
- }
81
- // Update
82
- listPackages(request, options) {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- return new Promise((resolve, reject) => {
85
- this.rpc_update.listPackages(request, options, (err, response) => {
86
- if (err) {
87
- reject(err);
88
- }
89
- else {
90
- resolve({ status: new status_1.Status(), response });
91
- }
92
- });
93
- });
94
- });
95
- }
96
- updatePackages(request, options) {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- return new Promise((resolve, reject) => {
99
- this.rpc_update.updatePackages(request, options, (err, response) => {
100
- if (err) {
101
- reject(err);
102
- }
103
- else {
104
- resolve({ status: new status_1.Status(), response });
105
- }
106
- });
107
- });
108
- });
109
- }
110
- uploadPackage(request, options) {
111
- return __awaiter(this, void 0, void 0, function* () {
112
- return new Promise((resolve, reject) => {
113
- this.rpc_update.uploadPackage(request, options, (err, response) => {
114
- if (err) {
115
- reject(err);
116
- }
117
- else {
118
- resolve({ status: new status_1.Status(), response });
119
- }
120
- });
121
- });
122
- });
123
- }
124
- }
125
- exports.default = DeviceManager;
126
- //# sourceMappingURL=device-management.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"device-management.js","sourceRoot":"","sources":["../../src/utils/device-management.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import { synapse } from "../api/api";
2
- export declare const NDTP_VERSION = 1;
3
- export interface NDTPHeader {
4
- version: number;
5
- dataType: synapse.DataType;
6
- timestamp: bigint;
7
- seqNumber: number;
8
- }
9
- export interface ChannelData {
10
- channelId: number;
11
- channelData: bigint[];
12
- }
13
- export interface NDTPPayloadBroadband {
14
- isSigned: boolean;
15
- bitWidth: number;
16
- chCount: number;
17
- sampleRate: number;
18
- channels: ChannelData[];
19
- }
20
- export interface NDTPPayloadSpiketrain {
21
- binSizeMs: number;
22
- spikeCounts: number[];
23
- readonly BIT_WIDTH_BINNED_SPIKES: number;
24
- }
25
- export type NDTPPayload = NDTPPayloadBroadband | NDTPPayloadSpiketrain;
26
- export interface NDTPMessage {
27
- header: NDTPHeader;
28
- payload: NDTPPayload;
29
- crc16: number;
30
- }
31
- export declare class NDTPParser {
32
- private static readonly NDTP_HEADER_SIZE;
33
- private static crc16;
34
- private static crc16Verify;
35
- static unpackHeader(data: Uint8Array): NDTPHeader;
36
- static unpackBroadband(data: Uint8Array): NDTPPayloadBroadband;
37
- static unpackSpiketrain(data: Uint8Array): NDTPPayloadSpiketrain;
38
- static unpack(data: Uint8Array, ignoreCrc?: boolean): NDTPMessage;
39
- }
40
- //# sourceMappingURL=ndtp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ndtp.d.ts","sourceRoot":"","sources":["../../src/utils/ndtp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAoBrC,eAAO,MAAM,YAAY,IAAO,CAAC;AAEjC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;CAC1C;AAED,MAAM,MAAM,WAAW,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;AAEvE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAE9C,OAAO,CAAC,MAAM,CAAC,KAAK;IAIpB,OAAO,CAAC,MAAM,CAAC,WAAW;IAK1B,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;IA4BjD,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,oBAAoB;IAuC9D,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,qBAAqB;IAmChE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,UAAQ,GAAG,WAAW;CA8BhE"}
@@ -1,140 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NDTPParser = exports.NDTP_VERSION = void 0;
4
- const api_1 = require("../api/api");
5
- const crc_1 = require("crc");
6
- // Helper functions for network byte order conversions
7
- const htonl = (n) => {
8
- return ((n & 0xff) << 24) | ((n & 0xff00) << 8) | ((n & 0xff0000) >> 8) | ((n & 0xff000000) >> 24);
9
- };
10
- const ntohl = htonl;
11
- const htonll = (n) => {
12
- if (new Int8Array(new Int16Array([1]).buffer)[0] === 1) {
13
- // Little endian
14
- return (BigInt(htonl(Number(n & BigInt(0xffffffff)))) << BigInt(32)) | BigInt(htonl(Number(n >> BigInt(32))));
15
- }
16
- return n; // Big endian
17
- };
18
- const ntohll = htonll;
19
- exports.NDTP_VERSION = 0x01;
20
- class NDTPParser {
21
- static crc16(data) {
22
- return (0, crc_1.crc16)(Buffer.from(data));
23
- }
24
- static crc16Verify(data, expectedCrc) {
25
- const calculatedCrc = this.crc16(data);
26
- return calculatedCrc === expectedCrc;
27
- }
28
- static unpackHeader(data) {
29
- if (data.length < this.NDTP_HEADER_SIZE) {
30
- throw new Error(`Invalid header size: expected ${this.NDTP_HEADER_SIZE}, got ${data.length}`);
31
- }
32
- let offset = 0;
33
- const version = data[offset++];
34
- if (version !== exports.NDTP_VERSION) {
35
- throw new Error(`Invalid version: expected ${exports.NDTP_VERSION}, got ${version}`);
36
- }
37
- const dataType = data[offset++];
38
- // Read timestamp (8 bytes)
39
- const timestamp = ntohll(new DataView(data.buffer).getBigUint64(offset));
40
- offset += 8;
41
- // Read sequence number (2 bytes)
42
- const seqNumber = new DataView(data.buffer).getUint16(offset);
43
- return {
44
- version,
45
- dataType,
46
- timestamp,
47
- seqNumber,
48
- };
49
- }
50
- static unpackBroadband(data) {
51
- if (data.length < 7) {
52
- throw new Error("Invalid data size for NDTPPayloadBroadband");
53
- }
54
- const bitWidth = data[0] >> 1;
55
- const isSigned = (data[0] & 1) === 1;
56
- const numChannels = (data[1] << 16) | (data[2] << 8) | data[3];
57
- const sampleRate = (data[4] << 16) | (data[5] << 8) | data[6];
58
- let offset = 7;
59
- const channels = [];
60
- for (let i = 0; i < numChannels; i++) {
61
- // Read channel ID (24 bits)
62
- const channelId = (data[offset] << 16) | (data[offset + 1] << 8) | data[offset + 2];
63
- offset += 3;
64
- // Read number of samples (16 bits)
65
- const numSamples = (data[offset] << 8) | data[offset + 1];
66
- offset += 2;
67
- // Read channel data
68
- const channelData = [];
69
- // Note: Implementation of bit-packed data reading would go here
70
- // This would require a more complex implementation similar to the C++ to_ints function
71
- channels.push({ channelId, channelData });
72
- }
73
- return {
74
- isSigned,
75
- bitWidth,
76
- chCount: numChannels,
77
- sampleRate,
78
- channels,
79
- };
80
- }
81
- static unpackSpiketrain(data) {
82
- if (data.length < 5) {
83
- throw new Error("Invalid data size for NDTPPayloadSpiketrain");
84
- }
85
- const sampleCount = (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3];
86
- const binSizeMs = data[4];
87
- // Unpack spike counts (4 bits per count)
88
- const spikeCounts = [];
89
- const BIT_WIDTH_BINNED_SPIKES = 4;
90
- // Read packed spike counts
91
- let byteOffset = 5;
92
- let bitOffset = 0;
93
- for (let i = 0; i < sampleCount; i++) {
94
- const currentByte = data[byteOffset];
95
- const count = (currentByte >> (4 - bitOffset)) & 0x0f;
96
- spikeCounts.push(count);
97
- bitOffset += BIT_WIDTH_BINNED_SPIKES;
98
- if (bitOffset >= 8) {
99
- bitOffset = 0;
100
- byteOffset++;
101
- }
102
- }
103
- return {
104
- binSizeMs,
105
- spikeCounts,
106
- BIT_WIDTH_BINNED_SPIKES,
107
- };
108
- }
109
- static unpack(data, ignoreCrc = false) {
110
- if (data.length < this.NDTP_HEADER_SIZE + 2) {
111
- // +2 for CRC
112
- throw new Error("Invalid data size for NDTPMessage");
113
- }
114
- const header = this.unpackHeader(data.slice(0, this.NDTP_HEADER_SIZE));
115
- const payloadData = data.slice(this.NDTP_HEADER_SIZE, -2);
116
- const crc16 = (data[data.length - 2] << 8) | data[data.length - 1];
117
- // Verify CRC
118
- if (!ignoreCrc) {
119
- // Verify CRC here
120
- }
121
- let payload;
122
- if (header.dataType === api_1.synapse.DataType.kBroadband) {
123
- payload = this.unpackBroadband(payloadData);
124
- }
125
- else if (header.dataType === api_1.synapse.DataType.kSpiketrain) {
126
- payload = this.unpackSpiketrain(payloadData);
127
- }
128
- else {
129
- throw new Error("Unsupported data type in NDTP header");
130
- }
131
- return {
132
- header,
133
- payload,
134
- crc16,
135
- };
136
- }
137
- }
138
- exports.NDTPParser = NDTPParser;
139
- NDTPParser.NDTP_HEADER_SIZE = 12;
140
- //# sourceMappingURL=ndtp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ndtp.js","sourceRoot":"","sources":["../../src/utils/ndtp.ts"],"names":[],"mappings":"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"}