hamlib 0.1.23 → 0.1.24
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/index.d.ts +9 -0
- package/lib/index.js +11 -0
- package/package.json +1 -1
- package/prebuilds/BUILD_INFO.txt +2 -2
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/linux-arm64/node.napi.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
- package/prebuilds/win32-x64/node.napi.node +0 -0
- package/src/hamlib.cpp +30 -1
- package/src/hamlib.h +4 -1
package/index.d.ts
CHANGED
|
@@ -482,6 +482,15 @@ declare class HamLib {
|
|
|
482
482
|
*/
|
|
483
483
|
getSupportedFunctions(): string[];
|
|
484
484
|
|
|
485
|
+
/**
|
|
486
|
+
* Get list of supported radio modes
|
|
487
|
+
* @returns Array of supported mode strings
|
|
488
|
+
* @example
|
|
489
|
+
* const modes = rig.getSupportedModes();
|
|
490
|
+
* console.log('Supported modes:', modes); // ['USB', 'LSB', 'CW', 'FM', 'AM', ...]
|
|
491
|
+
*/
|
|
492
|
+
getSupportedModes(): string[];
|
|
493
|
+
|
|
485
494
|
// Split Operations
|
|
486
495
|
|
|
487
496
|
/**
|
package/lib/index.js
CHANGED
|
@@ -307,6 +307,17 @@ class HamLib {
|
|
|
307
307
|
return this._nativeInstance.getSupportedFunctions();
|
|
308
308
|
}
|
|
309
309
|
|
|
310
|
+
/**
|
|
311
|
+
* Get list of supported radio modes
|
|
312
|
+
* @returns {Array<string>} Array of supported mode strings
|
|
313
|
+
* @example
|
|
314
|
+
* const modes = rig.getSupportedModes();
|
|
315
|
+
* console.log('Supported modes:', modes); // ['USB', 'LSB', 'CW', 'FM', 'AM', ...]
|
|
316
|
+
*/
|
|
317
|
+
getSupportedModes() {
|
|
318
|
+
return this._nativeInstance.getSupportedModes();
|
|
319
|
+
}
|
|
320
|
+
|
|
310
321
|
// Split Operations
|
|
311
322
|
|
|
312
323
|
/**
|
package/package.json
CHANGED
package/prebuilds/BUILD_INFO.txt
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Node-HamLib Precompiled Binaries
|
|
2
2
|
================================
|
|
3
|
-
Build Time: Sun Oct 19
|
|
4
|
-
Git Commit:
|
|
3
|
+
Build Time: Sun Oct 19 14:19:17 UTC 2025
|
|
4
|
+
Git Commit: e810fce21b570a4bac71580f4371b548e08443b0
|
|
5
5
|
Git Ref: refs/heads/main
|
|
6
6
|
|
|
7
7
|
Supported Platforms:
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/src/hamlib.cpp
CHANGED
|
@@ -3246,6 +3246,32 @@ Napi::Value NodeHamLib::GetSupportedFunctions(const Napi::CallbackInfo & info) {
|
|
|
3246
3246
|
return funcArray;
|
|
3247
3247
|
}
|
|
3248
3248
|
|
|
3249
|
+
// Mode Query
|
|
3250
|
+
Napi::Value NodeHamLib::GetSupportedModes(const Napi::CallbackInfo & info) {
|
|
3251
|
+
Napi::Env env = info.Env();
|
|
3252
|
+
|
|
3253
|
+
// Get mode list from rig state (populated during rig_open from rx/tx range lists)
|
|
3254
|
+
rmode_t modes = my_rig->state.mode_list;
|
|
3255
|
+
Napi::Array modeArray = Napi::Array::New(env);
|
|
3256
|
+
uint32_t index = 0;
|
|
3257
|
+
|
|
3258
|
+
// Iterate through all possible mode bits (similar to rig_sprintf_mode)
|
|
3259
|
+
for (unsigned int i = 0; i < HAMLIB_MAX_MODES; i++) {
|
|
3260
|
+
rmode_t mode_bit = modes & (1ULL << i);
|
|
3261
|
+
|
|
3262
|
+
if (mode_bit) {
|
|
3263
|
+
const char* mode_str = rig_strrmode(mode_bit);
|
|
3264
|
+
|
|
3265
|
+
// Skip empty or unknown modes
|
|
3266
|
+
if (mode_str && mode_str[0] != '\0') {
|
|
3267
|
+
modeArray[index++] = Napi::String::New(env, mode_str);
|
|
3268
|
+
}
|
|
3269
|
+
}
|
|
3270
|
+
}
|
|
3271
|
+
|
|
3272
|
+
return modeArray;
|
|
3273
|
+
}
|
|
3274
|
+
|
|
3249
3275
|
// Split Operations
|
|
3250
3276
|
Napi::Value NodeHamLib::SetSplitFreq(const Napi::CallbackInfo & info) {
|
|
3251
3277
|
Napi::Env env = info.Env();
|
|
@@ -3600,7 +3626,10 @@ Napi::Function NodeHamLib::GetClass(Napi::Env env) {
|
|
|
3600
3626
|
NodeHamLib::InstanceMethod("setFunction", & NodeHamLib::SetFunction),
|
|
3601
3627
|
NodeHamLib::InstanceMethod("getFunction", & NodeHamLib::GetFunction),
|
|
3602
3628
|
NodeHamLib::InstanceMethod("getSupportedFunctions", & NodeHamLib::GetSupportedFunctions),
|
|
3603
|
-
|
|
3629
|
+
|
|
3630
|
+
// Mode Query
|
|
3631
|
+
NodeHamLib::InstanceMethod("getSupportedModes", & NodeHamLib::GetSupportedModes),
|
|
3632
|
+
|
|
3604
3633
|
// Split Operations
|
|
3605
3634
|
NodeHamLib::InstanceMethod("setSplitFreq", & NodeHamLib::SetSplitFreq),
|
|
3606
3635
|
NodeHamLib::InstanceMethod("getSplitFreq", & NodeHamLib::GetSplitFreq),
|
package/src/hamlib.h
CHANGED
|
@@ -71,7 +71,10 @@ class NodeHamLib : public Napi::ObjectWrap<NodeHamLib> {
|
|
|
71
71
|
Napi::Value SetFunction(const Napi::CallbackInfo&);
|
|
72
72
|
Napi::Value GetFunction(const Napi::CallbackInfo&);
|
|
73
73
|
Napi::Value GetSupportedFunctions(const Napi::CallbackInfo&);
|
|
74
|
-
|
|
74
|
+
|
|
75
|
+
// Mode Query
|
|
76
|
+
Napi::Value GetSupportedModes(const Napi::CallbackInfo&);
|
|
77
|
+
|
|
75
78
|
// Split Operations
|
|
76
79
|
Napi::Value SetSplitFreq(const Napi::CallbackInfo&);
|
|
77
80
|
Napi::Value GetSplitFreq(const Napi::CallbackInfo&);
|