
NSLog
(
@"upTime: %ld sec
\n
"
,
[
module upTime
]
/
1000
)
;
NSLog
(
@"USB current: %d mA
\n
"
,
[
module usbCurrent
])
;
NSLog
(
@"logs: %@
\n
"
,
[
module get_lastLogs
])
;
}
else
{
NSLog
(
@"%@ not connected (check identification and USB cable)
\n
"
,
serial_or_name
)
;
}
[
YAPI FreeAPI
]
;
}
return
0
;
}
Each property
xxx
of the module can be read thanks to a method of type
get_xxxx
, and
properties which are not read-only can be modified with the help of the
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
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
saveToFlash
method. Inversely, it is possible to force the module to
forget its current settings by using the
revertFromFlash
method. The short example below
allows you to modify the logical name of a module.
#import <Foundation/Foundation.h>
#import "yocto_api.h"
static
void
usage
(
const
char
*exe
)
{
NSLog
(
@"usage: %s <serial> <newLogicalName>
\n
"
, exe
)
;
exit
(
1
)
;
}
int
main
(
int
argc,
const
char
* argv
[])
{
NSError
*error;
@autoreleasepool
{
// Setup the API to use local USB devices
if([
YAPI RegisterHub:
@"usb"
:&error
]
!= YAPI_SUCCESS
)
{
NSLog
(
@"RegisterHub error: %@"
,
[
error localizedDescription
])
;
return
1
;
}
if(
argc <
2
)
usage
(
argv
[
0
])
;
NSString
*serial_or_name =
[
NSString
stringWithUTF8String:argv
[
1
]]
;
// use serial or logical name
YModule *module =
[
YModule FindModule:serial_or_name
]
;
if
(
module.isOnline
)
{
if
(
argc >=
3
)
{
NSString
*newname =
[
NSString
stringWithUTF8String:argv
[
2
]]
;
if
(
!
[
YAPI CheckLogicalName:newname
])
{
NSLog
(
@"Invalid name (%@)
\n
"
, newname
)
;
usage
(
argv
[
0
])
;
}
module.logicalName = newname;
[
module saveToFlash
]
;
}
NSLog
(
@"Current name: %@
\n
"
, module.logicalName
)
;
}
else
{
NSLog
(
@"%@ not connected (check identification and USB cable)
\n
"
,
serial_or_name
)
;
}
[
YAPI FreeAPI
]
;
}
return
0
;
}
11. Using Yocto-RangeFinder with Objective-C
68
www.yoctopuce.com
Содержание 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: ......