m.
set_beacon
(
YModule.
BEACON_OFF
)
print(
"serial: "
+ m.
get_serialNumber
())
print(
"logical name: "
+ m.
get_logicalName
())
print(
"luminosity: "
+
str
(
m.
get_luminosity
()))
if
m.
get_beacon
()
== YModule.
BEACON_ON
:
print(
"beacon: ON"
)
else
:
print(
"beacon: OFF"
)
print(
"upTime: "
+
str
(
m.
get_upTime
()
/
1000
)
+
" sec"
)
print(
"USB current: "
+
str
(
m.
get_usbCurrent
())
+
" mA"
)
print(
"logs:
\n
"
+ m.
get_lastLogs
())
else
:
print(
sys
.
argv
[
1
]
+
" not connected (check identification and USB cable)"
)
YAPI.
FreeAPI
()
Each property
xxx
of the module can be read thanks to a method of type
YModule.get_xxxx()
,
and properties which are not read-only can be modified with the help of the
YModule.set_xxx()
method. For more details regarding the used functions, refer to the API chapters.
Changing the module settings
When you want to modify the settings of a module, you only need to call the corresponding
YModule.set_xxx()
function. However, this modification is performed only in the random access
memory (RAM) of the module: if the module is restarted, the modifications are lost. To memorize
them persistently, it is necessary to ask the module to save its current configuration in its permanent
memory. To do so, use the
YModule.saveToFlash()
method. Inversely, it is possible to force
the module to forget its current settings by using the
YModule.revertFromFlash()
method.
The short example below allows you to modify the logical name of a module.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import
os
,
sys
from
yocto_api
import
*
def
usage
()
:
sys
.
exit
(
"usage: demo <serial or logical name> <new logical name>"
)
if
len
(
sys
.
argv
)
!=
3
:
usage
()
errmsg = YRefParam
()
if
YAPI.
RegisterHub
(
"usb"
, errmsg
)
!= YAPI.
SUCCESS
:
sys
.
exit
(
"RegisterHub error: "
+
str
(
errmsg
))
m = YModule.
FindModule
(
sys
.
argv
[
1
])
# use serial or logical name
if
m.
isOnline
()
:
newname =
sys
.
argv
[
2
]
if
not
YAPI.
CheckLogicalName
(
newname
)
:
sys
.
exit
(
"Invalid name ("
+ n
")"
)
m.
set_logicalName
(
newname
)
m.
saveToFlash
()
# do not forget this
print(
"Module: serial= "
+ m.
get_serialNumber
()
+
" / name= "
+ m.
get_logicalName
())
else
:
sys
.
exit
(
"not connected (check identification and USB cable"
)
YAPI.
FreeAPI
()
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
YModule.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.yFirstModule()
function which returns the first module found. Then, you only need to call the
nextModule()
14. Using the Yocto-GPS with Python
96
www.yoctopuce.com
Summary of Contents for Yocto-GPS
Page 1: ...Yocto GPS User s guide...
Page 2: ......
Page 6: ...22 Characteristics 557 Blueprint 559 Index 561...
Page 10: ...4 www yoctopuce com...
Page 14: ...8 www yoctopuce com...
Page 18: ...12 www yoctopuce com...
Page 22: ...16 www yoctopuce com...
Page 38: ...32 www yoctopuce com...
Page 42: ...36 www yoctopuce com...
Page 54: ...48 www yoctopuce com...
Page 72: ...66 www yoctopuce com...
Page 92: ...86 www yoctopuce com...
Page 122: ...116 www yoctopuce com...
Page 132: ...126 www yoctopuce com...
Page 564: ...22 Characteristics 558 www yoctopuce com...
Page 565: ......
Page 566: ......