@technoculture/data-bridge 0.1.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.
- package/CMakeLists.txt +57 -0
- package/README.md +77 -0
- package/dist/index.d.mts +148 -0
- package/dist/index.d.ts +148 -0
- package/dist/index.js +314 -0
- package/dist/index.mjs +285 -0
- package/lib/index.ts +171 -0
- package/lib/resilient.ts +276 -0
- package/package.json +75 -0
- package/prebuilds/darwin-arm64/.ninja_deps +0 -0
- package/prebuilds/darwin-arm64/.ninja_log +6 -0
- package/prebuilds/darwin-arm64/CMakeCache.txt +398 -0
- package/prebuilds/darwin-arm64/CMakeFiles/4.0.3/CMakeCCompiler.cmake +84 -0
- package/prebuilds/darwin-arm64/CMakeFiles/4.0.3/CMakeCXXCompiler.cmake +104 -0
- package/prebuilds/darwin-arm64/CMakeFiles/4.0.3/CMakeDetermineCompilerABI_C.bin +0 -0
- package/prebuilds/darwin-arm64/CMakeFiles/4.0.3/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/prebuilds/darwin-arm64/CMakeFiles/4.0.3/CMakeSystem.cmake +15 -0
- package/prebuilds/darwin-arm64/CMakeFiles/4.0.3/CompilerIdC/CMakeCCompilerId.c +905 -0
- package/prebuilds/darwin-arm64/CMakeFiles/4.0.3/CompilerIdC/a.out +0 -0
- package/prebuilds/darwin-arm64/CMakeFiles/4.0.3/CompilerIdC/apple-sdk.c +1 -0
- package/prebuilds/darwin-arm64/CMakeFiles/4.0.3/CompilerIdCXX/CMakeCXXCompilerId.cpp +920 -0
- package/prebuilds/darwin-arm64/CMakeFiles/4.0.3/CompilerIdCXX/a.out +0 -0
- package/prebuilds/darwin-arm64/CMakeFiles/4.0.3/CompilerIdCXX/apple-sdk.cpp +1 -0
- package/prebuilds/darwin-arm64/CMakeFiles/CMakeConfigureLog.yaml +531 -0
- package/prebuilds/darwin-arm64/CMakeFiles/InstallScripts.json +7 -0
- package/prebuilds/darwin-arm64/CMakeFiles/TargetDirectories.txt +3 -0
- package/prebuilds/darwin-arm64/CMakeFiles/cmake.check_cache +1 -0
- package/prebuilds/darwin-arm64/CMakeFiles/data_bridge_node.dir/Users/satyamtiwary/Documents/Python-Things/data-bridge/src/protocol/crc16.cpp.o +0 -0
- package/prebuilds/darwin-arm64/CMakeFiles/data_bridge_node.dir/Users/satyamtiwary/Documents/Python-Things/data-bridge/src/transport/platform/linux/linux_serial.cpp.o +0 -0
- package/prebuilds/darwin-arm64/CMakeFiles/data_bridge_node.dir/src/addon.cpp.o +0 -0
- package/prebuilds/darwin-arm64/CMakeFiles/data_bridge_node.dir/src/serial_wrapper.cpp.o +0 -0
- package/prebuilds/darwin-arm64/CMakeFiles/rules.ninja +64 -0
- package/prebuilds/darwin-arm64/Release/data_bridge_node.node +0 -0
- package/prebuilds/darwin-arm64/build.ninja +192 -0
- package/prebuilds/darwin-arm64/cmake_install.cmake +61 -0
- package/src/addon.cpp +219 -0
- package/src/serial_wrapper.cpp +8 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# CMAKE generated file: DO NOT EDIT!
|
|
2
|
+
# Generated by "Ninja" Generator, CMake Version 4.0
|
|
3
|
+
|
|
4
|
+
# This file contains all the rules used to get the outputs files
|
|
5
|
+
# built from the input files.
|
|
6
|
+
# It is included in the main 'build.ninja'.
|
|
7
|
+
|
|
8
|
+
# =============================================================================
|
|
9
|
+
# Project: data_bridge_node
|
|
10
|
+
# Configurations: Release
|
|
11
|
+
# =============================================================================
|
|
12
|
+
# =============================================================================
|
|
13
|
+
|
|
14
|
+
#############################################
|
|
15
|
+
# Rule for compiling CXX files.
|
|
16
|
+
|
|
17
|
+
rule CXX_COMPILER__data_bridge_node_unscanned_Release
|
|
18
|
+
depfile = $DEP_FILE
|
|
19
|
+
deps = gcc
|
|
20
|
+
command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in
|
|
21
|
+
description = Building CXX object $out
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
#############################################
|
|
25
|
+
# Rule for linking CXX shared library.
|
|
26
|
+
|
|
27
|
+
rule CXX_SHARED_LIBRARY_LINKER__data_bridge_node_Release
|
|
28
|
+
command = $PRE_LINK && /usr/bin/c++ $LANGUAGE_COMPILE_FLAGS $ARCH_FLAGS -dynamiclib -Wl,-headerpad_max_install_names $LINK_FLAGS -o $TARGET_FILE $SONAME_FLAG $INSTALLNAME_DIR$SONAME $in $LINK_PATH $LINK_LIBRARIES && $POST_BUILD
|
|
29
|
+
description = Linking CXX shared library $TARGET_FILE
|
|
30
|
+
restat = $RESTAT
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
#############################################
|
|
34
|
+
# Rule for running custom commands.
|
|
35
|
+
|
|
36
|
+
rule CUSTOM_COMMAND
|
|
37
|
+
command = $COMMAND
|
|
38
|
+
description = $DESC
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
#############################################
|
|
42
|
+
# Rule for re-running cmake.
|
|
43
|
+
|
|
44
|
+
rule RERUN_CMAKE
|
|
45
|
+
command = /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/bin/cmake --regenerate-during-build -S/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node -B/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/prebuilds/darwin-arm64
|
|
46
|
+
description = Re-running CMake...
|
|
47
|
+
generator = 1
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
#############################################
|
|
51
|
+
# Rule for cleaning all built files.
|
|
52
|
+
|
|
53
|
+
rule CLEAN
|
|
54
|
+
command = /Users/satyamtiwary/.pyenv/shims/ninja $FILE_ARG -t clean $TARGETS
|
|
55
|
+
description = Cleaning all built files...
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
#############################################
|
|
59
|
+
# Rule for printing all primary targets available.
|
|
60
|
+
|
|
61
|
+
rule HELP
|
|
62
|
+
command = /Users/satyamtiwary/.pyenv/shims/ninja -t targets
|
|
63
|
+
description = All primary targets available:
|
|
64
|
+
|
|
Binary file
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# CMAKE generated file: DO NOT EDIT!
|
|
2
|
+
# Generated by "Ninja" Generator, CMake Version 4.0
|
|
3
|
+
|
|
4
|
+
# This file contains all the build statements describing the
|
|
5
|
+
# compilation DAG.
|
|
6
|
+
|
|
7
|
+
# =============================================================================
|
|
8
|
+
# Write statements declared in CMakeLists.txt:
|
|
9
|
+
#
|
|
10
|
+
# Which is the root file.
|
|
11
|
+
# =============================================================================
|
|
12
|
+
|
|
13
|
+
# =============================================================================
|
|
14
|
+
# Project: data_bridge_node
|
|
15
|
+
# Configurations: Release
|
|
16
|
+
# =============================================================================
|
|
17
|
+
|
|
18
|
+
#############################################
|
|
19
|
+
# Minimal version of Ninja required by this file
|
|
20
|
+
|
|
21
|
+
ninja_required_version = 1.5
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
#############################################
|
|
25
|
+
# Set configuration variable for custom commands.
|
|
26
|
+
|
|
27
|
+
CONFIGURATION = Release
|
|
28
|
+
# =============================================================================
|
|
29
|
+
# Include auxiliary files.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
#############################################
|
|
33
|
+
# Include rules file.
|
|
34
|
+
|
|
35
|
+
include CMakeFiles/rules.ninja
|
|
36
|
+
|
|
37
|
+
# =============================================================================
|
|
38
|
+
|
|
39
|
+
#############################################
|
|
40
|
+
# Logical path to working directory; prefix for absolute paths.
|
|
41
|
+
|
|
42
|
+
cmake_ninja_workdir = /Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/prebuilds/darwin-arm64/
|
|
43
|
+
# =============================================================================
|
|
44
|
+
# Object build statements for SHARED_LIBRARY target data_bridge_node
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
#############################################
|
|
48
|
+
# Order-only phony target for data_bridge_node
|
|
49
|
+
|
|
50
|
+
build cmake_object_order_depends_target_data_bridge_node: phony || .
|
|
51
|
+
|
|
52
|
+
build CMakeFiles/data_bridge_node.dir/src/addon.cpp.o: CXX_COMPILER__data_bridge_node_unscanned_Release /Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/src/addon.cpp || cmake_object_order_depends_target_data_bridge_node
|
|
53
|
+
CONFIG = Release
|
|
54
|
+
DEFINES = -DNAPI_VERSION=8 -DNODE_ADDON_API_DISABLE_DEPRECATED -Ddata_bridge_node_EXPORTS
|
|
55
|
+
DEP_FILE = CMakeFiles/data_bridge_node.dir/src/addon.cpp.o.d
|
|
56
|
+
FLAGS = -D_DARWIN_USE_64_BIT_INODE=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DBUILDING_NODE_EXTENSION -O3 -DNDEBUG -std=gnu++17 -arch arm64 -fPIC
|
|
57
|
+
INCLUDES = -I/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/node_modules/node-api-headers/include -I/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/node_modules/node-addon-api -I/Users/satyamtiwary/Documents/Python-Things/data-bridge/include
|
|
58
|
+
OBJECT_DIR = CMakeFiles/data_bridge_node.dir
|
|
59
|
+
OBJECT_FILE_DIR = CMakeFiles/data_bridge_node.dir/src
|
|
60
|
+
TARGET_COMPILE_PDB = CMakeFiles/data_bridge_node.dir/
|
|
61
|
+
TARGET_PDB = Release/data_bridge_node.pdb
|
|
62
|
+
|
|
63
|
+
build CMakeFiles/data_bridge_node.dir/src/serial_wrapper.cpp.o: CXX_COMPILER__data_bridge_node_unscanned_Release /Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/src/serial_wrapper.cpp || cmake_object_order_depends_target_data_bridge_node
|
|
64
|
+
CONFIG = Release
|
|
65
|
+
DEFINES = -DNAPI_VERSION=8 -DNODE_ADDON_API_DISABLE_DEPRECATED -Ddata_bridge_node_EXPORTS
|
|
66
|
+
DEP_FILE = CMakeFiles/data_bridge_node.dir/src/serial_wrapper.cpp.o.d
|
|
67
|
+
FLAGS = -D_DARWIN_USE_64_BIT_INODE=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DBUILDING_NODE_EXTENSION -O3 -DNDEBUG -std=gnu++17 -arch arm64 -fPIC
|
|
68
|
+
INCLUDES = -I/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/node_modules/node-api-headers/include -I/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/node_modules/node-addon-api -I/Users/satyamtiwary/Documents/Python-Things/data-bridge/include
|
|
69
|
+
OBJECT_DIR = CMakeFiles/data_bridge_node.dir
|
|
70
|
+
OBJECT_FILE_DIR = CMakeFiles/data_bridge_node.dir/src
|
|
71
|
+
TARGET_COMPILE_PDB = CMakeFiles/data_bridge_node.dir/
|
|
72
|
+
TARGET_PDB = Release/data_bridge_node.pdb
|
|
73
|
+
|
|
74
|
+
build CMakeFiles/data_bridge_node.dir/Users/satyamtiwary/Documents/Python-Things/data-bridge/src/protocol/crc16.cpp.o: CXX_COMPILER__data_bridge_node_unscanned_Release /Users/satyamtiwary/Documents/Python-Things/data-bridge/src/protocol/crc16.cpp || cmake_object_order_depends_target_data_bridge_node
|
|
75
|
+
CONFIG = Release
|
|
76
|
+
DEFINES = -DNAPI_VERSION=8 -DNODE_ADDON_API_DISABLE_DEPRECATED -Ddata_bridge_node_EXPORTS
|
|
77
|
+
DEP_FILE = CMakeFiles/data_bridge_node.dir/Users/satyamtiwary/Documents/Python-Things/data-bridge/src/protocol/crc16.cpp.o.d
|
|
78
|
+
FLAGS = -D_DARWIN_USE_64_BIT_INODE=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DBUILDING_NODE_EXTENSION -O3 -DNDEBUG -std=gnu++17 -arch arm64 -fPIC
|
|
79
|
+
INCLUDES = -I/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/node_modules/node-api-headers/include -I/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/node_modules/node-addon-api -I/Users/satyamtiwary/Documents/Python-Things/data-bridge/include
|
|
80
|
+
OBJECT_DIR = CMakeFiles/data_bridge_node.dir
|
|
81
|
+
OBJECT_FILE_DIR = CMakeFiles/data_bridge_node.dir/Users/satyamtiwary/Documents/Python-Things/data-bridge/src/protocol
|
|
82
|
+
TARGET_COMPILE_PDB = CMakeFiles/data_bridge_node.dir/
|
|
83
|
+
TARGET_PDB = Release/data_bridge_node.pdb
|
|
84
|
+
|
|
85
|
+
build CMakeFiles/data_bridge_node.dir/Users/satyamtiwary/Documents/Python-Things/data-bridge/src/transport/platform/linux/linux_serial.cpp.o: CXX_COMPILER__data_bridge_node_unscanned_Release /Users/satyamtiwary/Documents/Python-Things/data-bridge/src/transport/platform/linux/linux_serial.cpp || cmake_object_order_depends_target_data_bridge_node
|
|
86
|
+
CONFIG = Release
|
|
87
|
+
DEFINES = -DNAPI_VERSION=8 -DNODE_ADDON_API_DISABLE_DEPRECATED -Ddata_bridge_node_EXPORTS
|
|
88
|
+
DEP_FILE = CMakeFiles/data_bridge_node.dir/Users/satyamtiwary/Documents/Python-Things/data-bridge/src/transport/platform/linux/linux_serial.cpp.o.d
|
|
89
|
+
FLAGS = -D_DARWIN_USE_64_BIT_INODE=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DBUILDING_NODE_EXTENSION -O3 -DNDEBUG -std=gnu++17 -arch arm64 -fPIC
|
|
90
|
+
INCLUDES = -I/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/node_modules/node-api-headers/include -I/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/node_modules/node-addon-api -I/Users/satyamtiwary/Documents/Python-Things/data-bridge/include
|
|
91
|
+
OBJECT_DIR = CMakeFiles/data_bridge_node.dir
|
|
92
|
+
OBJECT_FILE_DIR = CMakeFiles/data_bridge_node.dir/Users/satyamtiwary/Documents/Python-Things/data-bridge/src/transport/platform/linux
|
|
93
|
+
TARGET_COMPILE_PDB = CMakeFiles/data_bridge_node.dir/
|
|
94
|
+
TARGET_PDB = Release/data_bridge_node.pdb
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
# =============================================================================
|
|
98
|
+
# Link build statements for SHARED_LIBRARY target data_bridge_node
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
#############################################
|
|
102
|
+
# Link the shared library Release/data_bridge_node.node
|
|
103
|
+
|
|
104
|
+
build Release/data_bridge_node.node: CXX_SHARED_LIBRARY_LINKER__data_bridge_node_Release CMakeFiles/data_bridge_node.dir/src/addon.cpp.o CMakeFiles/data_bridge_node.dir/src/serial_wrapper.cpp.o CMakeFiles/data_bridge_node.dir/Users/satyamtiwary/Documents/Python-Things/data-bridge/src/protocol/crc16.cpp.o CMakeFiles/data_bridge_node.dir/Users/satyamtiwary/Documents/Python-Things/data-bridge/src/transport/platform/linux/linux_serial.cpp.o
|
|
105
|
+
ARCH_FLAGS = -arch arm64
|
|
106
|
+
CONFIG = Release
|
|
107
|
+
INSTALLNAME_DIR = @rpath/
|
|
108
|
+
LANGUAGE_COMPILE_FLAGS = -D_DARWIN_USE_64_BIT_INODE=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DBUILDING_NODE_EXTENSION -O3 -DNDEBUG
|
|
109
|
+
LINK_FLAGS = -undefined dynamic_lookup
|
|
110
|
+
OBJECT_DIR = CMakeFiles/data_bridge_node.dir
|
|
111
|
+
POST_BUILD = :
|
|
112
|
+
PRE_LINK = :
|
|
113
|
+
SONAME = data_bridge_node.node
|
|
114
|
+
SONAME_FLAG = -install_name
|
|
115
|
+
TARGET_COMPILE_PDB = CMakeFiles/data_bridge_node.dir/
|
|
116
|
+
TARGET_FILE = Release/data_bridge_node.node
|
|
117
|
+
TARGET_PDB = Release/data_bridge_node.pdb
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
#############################################
|
|
121
|
+
# Utility command for edit_cache
|
|
122
|
+
|
|
123
|
+
build CMakeFiles/edit_cache.util: CUSTOM_COMMAND
|
|
124
|
+
COMMAND = cd /Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/prebuilds/darwin-arm64 && /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/bin/ccmake -S/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node -B/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/prebuilds/darwin-arm64
|
|
125
|
+
DESC = Running CMake cache editor...
|
|
126
|
+
pool = console
|
|
127
|
+
restat = 1
|
|
128
|
+
|
|
129
|
+
build edit_cache: phony CMakeFiles/edit_cache.util
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
#############################################
|
|
133
|
+
# Utility command for rebuild_cache
|
|
134
|
+
|
|
135
|
+
build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND
|
|
136
|
+
COMMAND = cd /Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/prebuilds/darwin-arm64 && /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/bin/cmake --regenerate-during-build -S/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node -B/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/prebuilds/darwin-arm64
|
|
137
|
+
DESC = Running CMake to regenerate build system...
|
|
138
|
+
pool = console
|
|
139
|
+
restat = 1
|
|
140
|
+
|
|
141
|
+
build rebuild_cache: phony CMakeFiles/rebuild_cache.util
|
|
142
|
+
|
|
143
|
+
# =============================================================================
|
|
144
|
+
# Target aliases.
|
|
145
|
+
|
|
146
|
+
build data_bridge_node: phony Release/data_bridge_node.node
|
|
147
|
+
|
|
148
|
+
build data_bridge_node.node: phony Release/data_bridge_node.node
|
|
149
|
+
|
|
150
|
+
# =============================================================================
|
|
151
|
+
# Folder targets.
|
|
152
|
+
|
|
153
|
+
# =============================================================================
|
|
154
|
+
|
|
155
|
+
#############################################
|
|
156
|
+
# Folder: /Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/prebuilds/darwin-arm64
|
|
157
|
+
|
|
158
|
+
build all: phony Release/data_bridge_node.node
|
|
159
|
+
|
|
160
|
+
# =============================================================================
|
|
161
|
+
# Built-in targets
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
#############################################
|
|
165
|
+
# Re-run CMake if any of its inputs changed.
|
|
166
|
+
|
|
167
|
+
build build.ninja /Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/prebuilds/darwin-arm64/cmake_install.cmake: RERUN_CMAKE | /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCCompiler.cmake.in /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCCompilerABI.c /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCInformation.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCXXCompiler.cmake.in /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCXXCompilerABI.cpp /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCXXInformation.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCommonLanguageInclude.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCompilerIdDetection.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCXXCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineSystem.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeFindBinUtils.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeGenericSystem.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeInitializeConfigs.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeLanguageInformation.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeNinjaFindMake.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeParseImplicitLinkInfo.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeParseLibraryArchitecture.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeSystem.cmake.in /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeSystemSpecificInformation.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeSystemSpecificInitialize.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeTestCCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeTestCompilerCommon.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/AppleClang-C.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/AppleClang-CXX.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Clang.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/CrayClang-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/GNU.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/LCC-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/OrangeC-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/TI-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/TIClang-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Tasking-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Internal/CMakeCLinkerInformation.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Internal/CMakeCXXLinkerInformation.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Internal/CMakeCommonLinkerInformation.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Internal/CMakeDetermineLinkerId.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Internal/CMakeInspectCLinker.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Internal/CMakeInspectCXXLinker.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Internal/FeatureTesting.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Linker/AppleClang-C.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Linker/AppleClang-CXX.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Linker/AppleClang.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Apple-AppleClang-C.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Apple-AppleClang-CXX.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Apple-Clang-C.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Apple-Clang-CXX.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Apple-Clang.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Darwin-Determine-CXX.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Darwin-Initialize.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Darwin.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Linker/Apple-AppleClang-C.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Linker/Apple-AppleClang-CXX.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Linker/Apple-AppleClang.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/UnixPaths.cmake /Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/CMakeLists.txt CMakeCache.txt CMakeFiles/4.0.3/CMakeCCompiler.cmake CMakeFiles/4.0.3/CMakeCXXCompiler.cmake CMakeFiles/4.0.3/CMakeSystem.cmake
|
|
168
|
+
pool = console
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
#############################################
|
|
172
|
+
# A missing CMake input file is not an error.
|
|
173
|
+
|
|
174
|
+
build /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCCompiler.cmake.in /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCCompilerABI.c /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCInformation.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCXXCompiler.cmake.in /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCXXCompilerABI.cpp /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCXXInformation.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCommonLanguageInclude.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeCompilerIdDetection.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCXXCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCompilerABI.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCompilerSupport.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineSystem.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeFindBinUtils.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeGenericSystem.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeInitializeConfigs.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeLanguageInformation.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeNinjaFindMake.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeParseImplicitLinkInfo.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeParseLibraryArchitecture.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeSystem.cmake.in /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeSystemSpecificInformation.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeSystemSpecificInitialize.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeTestCCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeTestCXXCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeTestCompilerCommon.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/AppleClang-C.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/AppleClang-CXX.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Clang.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/CrayClang-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/GNU.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/LCC-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/OrangeC-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/TI-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/TIClang-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Tasking-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Internal/CMakeCLinkerInformation.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Internal/CMakeCXXLinkerInformation.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Internal/CMakeCommonLinkerInformation.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Internal/CMakeDetermineLinkerId.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Internal/CMakeInspectCLinker.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Internal/CMakeInspectCXXLinker.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Internal/FeatureTesting.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Linker/AppleClang-C.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Linker/AppleClang-CXX.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Linker/AppleClang.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Apple-AppleClang-C.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Apple-AppleClang-CXX.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Apple-Clang-C.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Apple-Clang-CXX.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Apple-Clang.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Darwin-Determine-CXX.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Darwin-Initialize.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Darwin.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Linker/Apple-AppleClang-C.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Linker/Apple-AppleClang-CXX.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/Linker/Apple-AppleClang.cmake /Users/satyamtiwary/.platformio/penv/lib/python3.11/site-packages/cmake/data/share/cmake-4.0/Modules/Platform/UnixPaths.cmake /Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/CMakeLists.txt CMakeCache.txt CMakeFiles/4.0.3/CMakeCCompiler.cmake CMakeFiles/4.0.3/CMakeCXXCompiler.cmake CMakeFiles/4.0.3/CMakeSystem.cmake: phony
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
#############################################
|
|
178
|
+
# Clean all the built files.
|
|
179
|
+
|
|
180
|
+
build clean: CLEAN
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
#############################################
|
|
184
|
+
# Print all primary targets available.
|
|
185
|
+
|
|
186
|
+
build help: HELP
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
#############################################
|
|
190
|
+
# Make the all target the default.
|
|
191
|
+
|
|
192
|
+
default all
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Install script for directory: /Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node
|
|
2
|
+
|
|
3
|
+
# Set the install prefix
|
|
4
|
+
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
|
|
5
|
+
set(CMAKE_INSTALL_PREFIX "/usr/local")
|
|
6
|
+
endif()
|
|
7
|
+
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
|
8
|
+
|
|
9
|
+
# Set the install configuration name.
|
|
10
|
+
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
|
|
11
|
+
if(BUILD_TYPE)
|
|
12
|
+
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
|
|
13
|
+
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
|
|
14
|
+
else()
|
|
15
|
+
set(CMAKE_INSTALL_CONFIG_NAME "Release")
|
|
16
|
+
endif()
|
|
17
|
+
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
|
|
18
|
+
endif()
|
|
19
|
+
|
|
20
|
+
# Set the component getting installed.
|
|
21
|
+
if(NOT CMAKE_INSTALL_COMPONENT)
|
|
22
|
+
if(COMPONENT)
|
|
23
|
+
message(STATUS "Install component: \"${COMPONENT}\"")
|
|
24
|
+
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
|
|
25
|
+
else()
|
|
26
|
+
set(CMAKE_INSTALL_COMPONENT)
|
|
27
|
+
endif()
|
|
28
|
+
endif()
|
|
29
|
+
|
|
30
|
+
# Is this installation the result of a crosscompile?
|
|
31
|
+
if(NOT DEFINED CMAKE_CROSSCOMPILING)
|
|
32
|
+
set(CMAKE_CROSSCOMPILING "FALSE")
|
|
33
|
+
endif()
|
|
34
|
+
|
|
35
|
+
# Set path to fallback-tool for dependency-resolution.
|
|
36
|
+
if(NOT DEFINED CMAKE_OBJDUMP)
|
|
37
|
+
set(CMAKE_OBJDUMP "/usr/bin/objdump")
|
|
38
|
+
endif()
|
|
39
|
+
|
|
40
|
+
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
|
|
41
|
+
"${CMAKE_INSTALL_MANIFEST_FILES}")
|
|
42
|
+
if(CMAKE_INSTALL_LOCAL_ONLY)
|
|
43
|
+
file(WRITE "/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/prebuilds/darwin-arm64/install_local_manifest.txt"
|
|
44
|
+
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
|
|
45
|
+
endif()
|
|
46
|
+
if(CMAKE_INSTALL_COMPONENT)
|
|
47
|
+
if(CMAKE_INSTALL_COMPONENT MATCHES "^[a-zA-Z0-9_.+-]+$")
|
|
48
|
+
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
|
|
49
|
+
else()
|
|
50
|
+
string(MD5 CMAKE_INST_COMP_HASH "${CMAKE_INSTALL_COMPONENT}")
|
|
51
|
+
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INST_COMP_HASH}.txt")
|
|
52
|
+
unset(CMAKE_INST_COMP_HASH)
|
|
53
|
+
endif()
|
|
54
|
+
else()
|
|
55
|
+
set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
|
|
56
|
+
endif()
|
|
57
|
+
|
|
58
|
+
if(NOT CMAKE_INSTALL_LOCAL_ONLY)
|
|
59
|
+
file(WRITE "/Users/satyamtiwary/Documents/Python-Things/data-bridge/bindings/node/prebuilds/darwin-arm64/${CMAKE_INSTALL_MANIFEST}"
|
|
60
|
+
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
|
|
61
|
+
endif()
|
package/src/addon.cpp
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data Bridge Node.js Native Addon
|
|
3
|
+
*
|
|
4
|
+
* Exposes the C++ Data Bridge library to JavaScript via Node-API.
|
|
5
|
+
* Provides async-safe wrappers for serial port operations.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include <napi.h>
|
|
9
|
+
#include <data_bridge/transport/serial_port.hpp>
|
|
10
|
+
#include <data_bridge/protocol/packet.hpp>
|
|
11
|
+
#include <data_bridge/protocol/reassembler.hpp>
|
|
12
|
+
#include <memory>
|
|
13
|
+
#include <thread>
|
|
14
|
+
#include <atomic>
|
|
15
|
+
#include <queue>
|
|
16
|
+
#include <mutex>
|
|
17
|
+
#include <condition_variable>
|
|
18
|
+
|
|
19
|
+
class DataBridgeWrapper : public Napi::ObjectWrap<DataBridgeWrapper> {
|
|
20
|
+
public:
|
|
21
|
+
static Napi::Object Init(Napi::Env env, Napi::Object exports);
|
|
22
|
+
DataBridgeWrapper(const Napi::CallbackInfo& info);
|
|
23
|
+
~DataBridgeWrapper();
|
|
24
|
+
|
|
25
|
+
private:
|
|
26
|
+
// JavaScript methods
|
|
27
|
+
Napi::Value Open(const Napi::CallbackInfo& info);
|
|
28
|
+
Napi::Value Send(const Napi::CallbackInfo& info);
|
|
29
|
+
Napi::Value Close(const Napi::CallbackInfo& info);
|
|
30
|
+
Napi::Value IsOpen(const Napi::CallbackInfo& info);
|
|
31
|
+
|
|
32
|
+
// Internal state
|
|
33
|
+
std::unique_ptr<SerialPort> serial_;
|
|
34
|
+
std::atomic<bool> is_open_{false};
|
|
35
|
+
std::atomic<bool> should_stop_{false};
|
|
36
|
+
std::thread receive_thread_;
|
|
37
|
+
uint8_t seq_id_ = 0; // Per-instance sequence ID
|
|
38
|
+
|
|
39
|
+
// Thread-safe receive callback
|
|
40
|
+
Napi::ThreadSafeFunction tsfn_;
|
|
41
|
+
|
|
42
|
+
void ReceiveLoop();
|
|
43
|
+
void StopReceiveLoop();
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
Napi::Object DataBridgeWrapper::Init(Napi::Env env, Napi::Object exports) {
|
|
47
|
+
Napi::Function func = DefineClass(env, "DataBridge", {
|
|
48
|
+
InstanceMethod("open", &DataBridgeWrapper::Open),
|
|
49
|
+
InstanceMethod("send", &DataBridgeWrapper::Send),
|
|
50
|
+
InstanceMethod("close", &DataBridgeWrapper::Close),
|
|
51
|
+
InstanceMethod("isOpen", &DataBridgeWrapper::IsOpen),
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
exports.Set("DataBridge", func);
|
|
55
|
+
return exports;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
DataBridgeWrapper::DataBridgeWrapper(const Napi::CallbackInfo& info)
|
|
59
|
+
: Napi::ObjectWrap<DataBridgeWrapper>(info) {
|
|
60
|
+
serial_ = std::make_unique<SerialPort>();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
DataBridgeWrapper::~DataBridgeWrapper() {
|
|
64
|
+
StopReceiveLoop();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
Napi::Value DataBridgeWrapper::Open(const Napi::CallbackInfo& info) {
|
|
68
|
+
Napi::Env env = info.Env();
|
|
69
|
+
|
|
70
|
+
if (info.Length() < 1 || !info[0].IsString()) {
|
|
71
|
+
Napi::TypeError::New(env, "Port path required").ThrowAsJavaScriptException();
|
|
72
|
+
return env.Undefined();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
std::string port = info[0].As<Napi::String>().Utf8Value();
|
|
76
|
+
int baud = 115200;
|
|
77
|
+
|
|
78
|
+
if (info.Length() >= 2 && info[1].IsNumber()) {
|
|
79
|
+
baud = info[1].As<Napi::Number>().Int32Value();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Create a deferred promise
|
|
83
|
+
Napi::Promise::Deferred deferred = Napi::Promise::Deferred::New(env);
|
|
84
|
+
|
|
85
|
+
if (serial_->open(port, baud)) {
|
|
86
|
+
is_open_ = true;
|
|
87
|
+
|
|
88
|
+
// Setup receive callback if provided
|
|
89
|
+
if (info.Length() >= 3 && info[2].IsFunction()) {
|
|
90
|
+
tsfn_ = Napi::ThreadSafeFunction::New(
|
|
91
|
+
env,
|
|
92
|
+
info[2].As<Napi::Function>(),
|
|
93
|
+
"DataBridge Receive Callback",
|
|
94
|
+
0, 1
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
should_stop_ = false;
|
|
98
|
+
receive_thread_ = std::thread(&DataBridgeWrapper::ReceiveLoop, this);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
deferred.Resolve(Napi::Boolean::New(env, true));
|
|
102
|
+
} else {
|
|
103
|
+
deferred.Reject(Napi::Error::New(env, "Failed to open port: " + port).Value());
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return deferred.Promise();
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
Napi::Value DataBridgeWrapper::Send(const Napi::CallbackInfo& info) {
|
|
110
|
+
Napi::Env env = info.Env();
|
|
111
|
+
|
|
112
|
+
if (!is_open_) {
|
|
113
|
+
Napi::Error::New(env, "Port not open").ThrowAsJavaScriptException();
|
|
114
|
+
return env.Undefined();
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
if (info.Length() < 1) {
|
|
118
|
+
Napi::TypeError::New(env, "Data required").ThrowAsJavaScriptException();
|
|
119
|
+
return env.Undefined();
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
std::string payload;
|
|
123
|
+
if (info[0].IsBuffer()) {
|
|
124
|
+
Napi::Buffer<char> buf = info[0].As<Napi::Buffer<char>>();
|
|
125
|
+
payload = std::string(buf.Data(), buf.Length());
|
|
126
|
+
} else if (info[0].IsString()) {
|
|
127
|
+
payload = info[0].As<Napi::String>().Utf8Value();
|
|
128
|
+
} else {
|
|
129
|
+
Napi::TypeError::New(env, "Data must be Buffer or string").ThrowAsJavaScriptException();
|
|
130
|
+
return env.Undefined();
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Serialize and send with fragmentation
|
|
134
|
+
// Sequence ID is managed per-instance
|
|
135
|
+
auto packet = Packet::serialize(Packet::TYPE_DATA, seq_id_++, payload);
|
|
136
|
+
|
|
137
|
+
Napi::Promise::Deferred deferred = Napi::Promise::Deferred::New(env);
|
|
138
|
+
|
|
139
|
+
// TODO: Implement proper async send with ACK waiting
|
|
140
|
+
// For now, synchronous send
|
|
141
|
+
int written = serial_->write(packet);
|
|
142
|
+
|
|
143
|
+
if (written > 0) {
|
|
144
|
+
deferred.Resolve(Napi::Number::New(env, written));
|
|
145
|
+
} else {
|
|
146
|
+
deferred.Reject(Napi::Error::New(env, "Write failed").Value());
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return deferred.Promise();
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
Napi::Value DataBridgeWrapper::Close(const Napi::CallbackInfo& info) {
|
|
153
|
+
Napi::Env env = info.Env();
|
|
154
|
+
|
|
155
|
+
StopReceiveLoop();
|
|
156
|
+
serial_->close();
|
|
157
|
+
is_open_ = false;
|
|
158
|
+
|
|
159
|
+
return Napi::Boolean::New(env, true);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
Napi::Value DataBridgeWrapper::IsOpen(const Napi::CallbackInfo& info) {
|
|
163
|
+
return Napi::Boolean::New(info.Env(), is_open_.load());
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
void DataBridgeWrapper::ReceiveLoop() {
|
|
167
|
+
uint8_t buffer[1024];
|
|
168
|
+
std::vector<uint8_t> rx_pool;
|
|
169
|
+
Reassembler reassembler;
|
|
170
|
+
|
|
171
|
+
while (!should_stop_) {
|
|
172
|
+
int n = serial_->read(buffer, sizeof(buffer));
|
|
173
|
+
if (n > 0) {
|
|
174
|
+
rx_pool.insert(rx_pool.end(), buffer, buffer + n);
|
|
175
|
+
|
|
176
|
+
while (true) {
|
|
177
|
+
auto frame = Packet::deserialize(rx_pool);
|
|
178
|
+
if (!frame.valid) break;
|
|
179
|
+
|
|
180
|
+
if (frame.header.type == Packet::TYPE_DATA) {
|
|
181
|
+
if (reassembler.process_fragment(frame)) {
|
|
182
|
+
if (reassembler.is_complete(frame)) {
|
|
183
|
+
// Emit to JavaScript via ThreadSafeFunction
|
|
184
|
+
auto data = reassembler.get_data();
|
|
185
|
+
|
|
186
|
+
tsfn_.BlockingCall([data](Napi::Env env, Napi::Function callback) {
|
|
187
|
+
callback.Call({
|
|
188
|
+
Napi::Buffer<char>::Copy(env,
|
|
189
|
+
reinterpret_cast<const char*>(data.data()),
|
|
190
|
+
data.size())
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
// Send ACK
|
|
196
|
+
serial_->write(Packet::serialize(Packet::TYPE_ACK, frame.header.seq_id, ""));
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
void DataBridgeWrapper::StopReceiveLoop() {
|
|
205
|
+
should_stop_ = true;
|
|
206
|
+
if (receive_thread_.joinable()) {
|
|
207
|
+
receive_thread_.join();
|
|
208
|
+
}
|
|
209
|
+
if (tsfn_) {
|
|
210
|
+
tsfn_.Release();
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
// Module initialization
|
|
215
|
+
Napi::Object InitAll(Napi::Env env, Napi::Object exports) {
|
|
216
|
+
return DataBridgeWrapper::Init(env, exports);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
NODE_API_MODULE(data_bridge_node, InitAll)
|