
}
await
module.
set_logicalName
(
newname
)
;
await
module.
saveToFlash
()
;
}
console.
log
(
'Current name: '
+
await
module.
get_logicalName
())
;
}
else
{
console.
log
(
"Module not connected (check identification and USB cable)
\n
"
)
;
}
await
YAPI.
FreeAPI
()
;
}
if(
process.
argv
.
length
<
2
)
{
console.
log
(
"usage: node demo.js <serial> [newLogicalName]"
)
;
}
else
{
startDemo
(
process.
argv
.
slice
(
2
))
;
}
Warning: the number of write cycles of the nonvolatile memory of the module is limited. When this
limit is reached, nothing guaranties that the saving process is performed correctly. This limit, linked to
the technology employed by the module micro-processor, is located at about 100000 cycles. In short,
you can use the
saveToFlash()
function only 100000 times in the life of the module. Make sure
you do not call this function within a loop.
Listing the modules
Obtaining the list of the connected modules is performed with the
YModule.FirstModule()
function which returns the first module found. Then, you only need to call the
nextModule()
function of this object to find the following modules, and this as long as the returned value is not
null
. Below a short example listing the connected modules.
"use strict"
;
require
(
'yoctolib-es2017/yocto_api.js'
)
;
async
function
startDemo
()
{
await
YAPI.
LogUnhandledPromiseRejections
()
;
await
YAPI.
DisableExceptions
()
;
// Setup the API to use the VirtualHub on local machine
let
errmsg =
new
YErrorMsg
()
;
if
(await
YAPI.
RegisterHub
(
'127.0.0.1'
, errmsg
)
!= YAPI.
SUCCESS
)
{
console.
log
(
'Cannot contact VirtualHub on 127.0.0.1'
)
;
return
;
}
refresh
()
;
}
async
function
refresh
()
{
try
{
let
errmsg =
new
YErrorMsg
()
;
await
YAPI.
UpdateDeviceList
(
errmsg
)
;
let
module = YModule.
FirstModule
()
;
while(
module
)
{
let
line =
await
module.
get_serialNumber
()
;
line +=
'('
+
(await
module.
get_productName
())
+
')'
;
console.
log
(
line
)
;
module = module.
nextModule
()
;
}
setTimeout
(
refresh,
500
)
;
}
catch(
e
)
{
console.
log
(
e
)
;
}
}
try
{
startDemo
()
;
}
catch(
e
)
{
console.
log
(
e
)
;
}
8. Using Yocto-RangeFinder with JavaScript / EcmaScript
www.yoctopuce.com
45
Содержание Yocto-RangeFinder
Страница 1: ...Yocto RangeFinder User s guide...
Страница 2: ......
Страница 18: ...12 www yoctopuce com...
Страница 26: ...20 www yoctopuce com...
Страница 42: ...36 www yoctopuce com...
Страница 70: ...gcc lyocto lm lpthread lusb 1 0 lstdc 10 Using Yocto RangeFinder with C 64 www yoctopuce com...
Страница 90: ...84 www yoctopuce com...
Страница 120: ...114 www yoctopuce com...
Страница 130: ...124 www yoctopuce com...
Страница 158: ...21 High level API Reference On failure throws an exception or returns a negative error code 152 www yoctopuce com...
Страница 484: ...478 www yoctopuce com...
Страница 488: ...482 www yoctopuce com...
Страница 490: ...23 Characteristics 484 www yoctopuce com...
Страница 491: ......
Страница 492: ......