w4orocos является внешним WrmOS проектом, содержащим фреймворк OROCOS и демонстрационное приложение. w4orocos позволяет запускать демонстрационное приложение на WrmOS и на локальном компьютере (GNU Linux). Данная статья описывает как собрать и запустить проект w4orocos.
Содержание 1. Запуск на WrmOS 2. Запуск на локальном компьютере (GNU Linux)
1. Запуск на WrmOS [наверх]
Шаг 1.1. Получить кроссплатформенный тулчейн
Подробную информацию смотрите в статье Как получить тулчейн.
Шаг 1.2. Получить исходники WrmOS
Клонировать репозиторий из github:
git clone https://github.com/wrmlab/wrmos.git
или загрузить zip архив.
Шаг 1.3. Получить исходники w4orocos
Клонировать репозиторий из github:
git clone https://github.com/wrmlab/w4orocos.git
или загрузить zip архив.
Шаг 1.4. Собрать проект w4orocos для WrmOS
Запустить сборку проекта w4orocos для архитектуры SPARC и платформы LEON3 (это может занять несколько минут):
make build P=cfg/prj/orocos-qemu-leon3.prj W=../wrmos B=../build/orocos-qemu-leon3 -j
В результате мы получим образ загрузчика с файловой системой, содержащей исполняемый файл приложения orocos.elf:
ls ../build/orocos-qemu-leon3/ldr/bootloader.elf
Шаг 1.5. Запустить w4orocos на виртуальной машине QEMU
qemu-system-sparc -M leon3_generic -display none -serial stdio \ -kernel ../build/orocos-qemu-leon3/ldr/bootloader.elf
В результате мы увидим следующий вывод:
[ldr] _ _ ___ __ __ ___ ___ [ldr] | | | | _ \ \/ | / _ \/ __| [ldr] | |/\| | / |\/| || (_) \__ \ [ldr] |__/\__|_|_\_| |_(_)___/|___/ [ldr] From Russia with love! [ldr] [ldr] cpu #0/1 ready, sp=0x406299c0. [ldr] [ldr] hello: 14:40:24 Sep 23 2018. [ldr] gccver: 7.3.0. [ldr] hware: sparc, leon3, qemu, qemu_leon3. [ldr] ram: [0x40000000 - 0x48000000) 128 MB. [ldr] ramfs: [0x40259000 - 0x4061b000) 3848 KB. [ldr] ## name data size content [ldr] 1 kernel.elf 0x4025a000 377100 'ELF ...' [ldr] 2 sigma0.elf 0x402b610c 53076 'ELF ...' [ldr] 3 roottask.elf 0x402c3060 164864 'ELF ...' [ldr] 4 config.alph 0x402eb460 1477 '# config ...' [ldr] 5 uart.elf 0x402ec000 87468 'ELF ...' [ldr] 6 console.elf 0x40302000 116020 'ELF ...' [ldr] 7 orocos.elf 0x4031f000 3121928 'ELF ...' [ldr] [ldr] elf: foreach: elf=0x4025a000, sz=0x5c10c. [ldr] app=kernel, va=0x40000000, pa=0x40000000, sz=0x00001000, load=1. [ldr] app=kernel, va=0xf0020000, pa=0x40020000, sz=0x00201000, load=1. [ldr] app=kernel, va=0x00000000, pa=0x00000000, sz=0x00000000, load=0. [ldr] elf: foreach: elf=0x402b610c, sz=0xcf54. [ldr] app=sigma0, addr=0x00000000, sz=0x00000000, acc=0, progbits=0, name=. [ldr] app=sigma0, addr=0x40221000, sz=0x00008000, acc=5, progbits=1, name=.text. [ldr] app=sigma0, addr=0x40229000, sz=0x00001000, acc=4, progbits=1, name=.rodata. [ldr] app=sigma0, addr=0x4022a000, sz=0x00001000, acc=6, progbits=1, name=.data. [ldr] app=sigma0, addr=0x4022b000, sz=0x00004000, acc=6, progbits=1, name=.bss. [ldr] app=sigma0, addr=0x00000000, sz=0x00000010, acc=0, progbits=0, name=.gnu.attributes. [ldr] app=sigma0, addr=0x00000000, sz=0x00000f10, acc=0, progbits=0, name=.symtab. [ldr] app=sigma0, addr=0x00000000, sz=0x00000e86, acc=0, progbits=0, name=.strtab. [ldr] app=sigma0, addr=0x00000000, sz=0x00000044, acc=0, progbits=0, name=.shstrtab. [ldr] app=sigma0, va=0x40221000, pa=0x40221000, sz=0x0000e000, load=1. [ldr] elf: foreach: elf=0x402c3060, sz=0x28400. [ldr] app=roottask, addr=0x00000000, sz=0x00000000, acc=0, progbits=0, name=. [ldr] app=roottask, addr=0x4022f000, sz=0x0001c000, acc=5, progbits=1, name=.text. [ldr] app=roottask, addr=0x4024b000, sz=0x00005000, acc=4, progbits=1, name=.rodata. [ldr] app=roottask, addr=0x40250000, sz=0x00001000, acc=6, progbits=1, name=.data. [ldr] app=roottask, addr=0x40251000, sz=0x00007000, acc=6, progbits=1, name=.bss. [ldr] app=roottask, addr=0x40258000, sz=0x00001000, acc=6, progbits=1, name=.stack. [ldr] app=roottask, addr=0x00000000, sz=0x00000010, acc=0, progbits=0, name=.gnu.attributes. [ldr] app=roottask, addr=0x00000000, sz=0x00001e30, acc=0, progbits=0, name=.symtab. [ldr] app=roottask, addr=0x00000000, sz=0x000033e3, acc=0, progbits=0, name=.strtab. [ldr] app=roottask, addr=0x00000000, sz=0x0000004b, acc=0, progbits=0, name=.shstrtab. [ldr] app=roottask, va=0x4022f000, pa=0x4022f000, sz=0x0002a000, load=1. [ldr] memory regions: [ldr] [40000000 - 40001000) sz=0x00001000, kernel. [ldr] [40020000 - 40221000) sz=0x00201000, kernel. [ldr] [40221000 - 4022f000) sz=0x0000e000, sigma0. [ldr] [4022f000 - 40259000) sz=0x0002a000, roottask. [ldr] [4061b000 - 4062a000) sz=0x0000f000, bootloader. [ldr] [4062a000 - 48000000) sz=0x079d6000, free. [ldr] elf: foreach: elf=0x4025a000, sz=0x5c10c. [ldr] load: loc=0x4025b000, pa=0x40000000, sz=0x00001000, load=1. [ldr] load: loc=0x4025c000, pa=0x40020000, sz=0x00201000, load=1. [ldr] load: loc=0x4025a000, pa=0x00000000, sz=0x00000000, load=0. [ldr] elf: foreach: elf=0x402b610c, sz=0xcf54. [ldr] load: loc=0x402b710c, pa=0x40221000, sz=0x0000e000, load=1. [ldr] elf: foreach: elf=0x402c3060, sz=0x28400. [ldr] load: loc=0x402c4060, pa=0x4022f000, sz=0x0002a000, load=1. [ldr] KIP found at 0x40020000. [ldr] Go to kernel. [----:0.000000] kernel: cpu #0 hello, sp=0xf006cef8. [sgm0:0.006143] inf: hello. [sgm0:0.008882] inf: free memory = 0x79e5000. [alph:0.026613] inf: hello. [alph:0.033401] inf: get memory from sigma0. [alph:0.213193] inf: got memory: 0x79e5000 bytes. [alph:0.216282] inf: Project config: [alph:0.216645] inf: Board config: [alph:0.217010] inf: ## device paddr size irq [alph:0.217526] inf: 0 uart 0x80000100 0x00000100 3 [alph:0.218004] inf: Memory config: [alph:0.218279] inf: ## name size cached contig [alph:0.218659] inf: Apps config: [alph:0.219021] inf: [0] [alph:0.219264] inf: name: uart [alph:0.219572] inf: short_name: uart [alph:0.219876] inf: file: ramfs:/uart.elf [alph:0.220263] inf: stack_sz: 0x1000 [alph:0.220576] inf: heap_sz: 0x4000 [alph:0.220890] inf: max_aspaces: 1 [alph:0.221198] inf: max_threads: 3 [alph:0.221503] inf: max_prio: 120 [alph:0.221808] inf: fpu: 0 [alph:0.222111] inf: malloc_strategy: on_startup [alph:0.222434] inf: devices: 0 [alph:0.222731] inf: memory: [alph:0.223022] inf: args: uart [alph:0.223341] inf: [1] [alph:0.223578] inf: name: console [alph:0.223876] inf: short_name: cons [alph:0.224170] inf: file: ramfs:/console.elf [alph:0.224497] inf: stack_sz: 0x1000 [alph:0.224798] inf: heap_sz: 0x4000 [alph:0.225096] inf: max_aspaces: 1 [alph:0.225378] inf: max_threads: 3 [alph:0.225660] inf: max_prio: 110 [alph:0.225949] inf: fpu: 0 [alph:0.226233] inf: malloc_strategy: on_startup [alph:0.226539] inf: devices: [alph:0.226818] inf: memory: [alph:0.227095] inf: args: [alph:0.227376] inf: [2] [alph:0.227613] inf: name: orocos [alph:0.227908] inf: short_name: oro [alph:0.228202] inf: file: ramfs:/orocos.elf [alph:0.228524] inf: stack_sz: 0x2000 [alph:0.228821] inf: heap_sz: 0x40000 [alph:0.229139] inf: max_aspaces: 9 [alph:0.229447] inf: max_threads: 22 [alph:0.229733] inf: max_prio: 100 [alph:0.230050] inf: fpu: 1 [alph:0.230381] inf: malloc_strategy: on_startup [alph:0.230690] inf: devices: [alph:0.230969] inf: memory: [alph:0.231249] inf: args: [alph:0.231565] inf: get iospace from sigma0. [alph:0.232935] inf: got iospace from sigma0. [alph:0.233625] inf: prepare named memory regions for apps. [alph:0.233984] inf: prepared named memory regions for apps. [alph:0.234348] inf: create app=uart. [alph:0.243077] inf: create app=console. [alph:0.247461] inf: create app=orocos. [uart:0.273194] inf: hello. [uart:0.276318] inf: argc=2, argv=0xff2000. [uart:0.277078] inf: arg[0] = uart. [uart:0.277379] inf: arg[1] = uart. [uart:0.277676] inf: myid=131. [uart:0.278758] inf: map_io: addr=0x70000100, sz=0x100. [uart:0.283008] inf: create_thread: rc=0, id=132. [uart:0.284925] inf: create_thread: rc=0, id=133. [u-tx:0.285872] inf: tx: hello: tx_thread. [u-tx:0.286211] inf: tx: myid=132. [u-rx:0.287677] inf: rx: hello: rx_thread. [u-rx:0.288025] inf: rx: myid=133. [u-hw:0.288810] inf: attach_int: dev=uart, irq=3. [u-tx:0.289464] inf: attach: thread 'uart-tx-stream' is registered, key: 46189/461a4. [u-tx:0.289900] inf: attach: wait attach msg. [u-rx:0.290432] inf: attach: thread 'uart-rx-stream' is registered, key: 466c6/466de. [u-rx:0.290859] inf: attach: wait attach msg. [cons:0.311914] inf: hello: myid=134. [cons:0.320122] inf: create_thread: rc=0, id=135. [cons:0.322185] inf: create_thread: rc=0, id=136. [c-dr:0.323251] inf: drv: myid=135. [c-dr:0.324895] inf: attach: got id=132, for thread 'uart-tx-stream', key: 46189/461a4. [u-tx:0.325794] inf: attach: attached to 135. [u-tx:0.326239] inf: tx: attached to client=135 [c-cl:0.328386] inf: cli: myid=136. [c-dr:0.329152] inf: attach: got id=133, for thread 'uart-rx-stream', key: 466c6/466de. [u-rx:0.329768] inf: attach: attached to 135. [u-rx:0.330148] inf: rx: attached to client=135 [c-cl:0.330675] inf: cli: thread 'console-server' is registered, key: 50493/504aa. Hello Oro! getenv: name=ORO_LOGFILE! fopen64: filename=orocos.log! getenv: name=ORO_LOGLEVEL! getenv: name=RTT_IGNORE_EXCEPTION! cntrl: construct. servo: construct. shaft: construct. encdr: construct. cntrl: configure. servo: configure. encdr: configure. shaft: configure. cntrl: start. servo: start. shaft: start. encdr: start. shaft: updateHook. encdr: updateHook: get: val=0.000000 (old). cntrl: updateHook: wr: val=0.100000. servo: updateHook: rd: val=0.100000. shaft: setPosition: set: val=0.100000. encdr: updateHook: get: val=0.100000 (new). cntrl: posChanged: new: val=0.100000. encdr: updateHook: get: val=0.100000 (old). cntrl: updateHook: wr: val=0.200000. servo: updateHook: rd: val=0.200000. shaft: setPosition: set: val=0.200000. encdr: updateHook: get: val=0.200000 (new). cntrl: posChanged: new: val=0.200000. encdr: updateHook: get: val=0.200000 (old). cntrl: updateHook: wr: val=0.300000. servo: updateHook: rd: val=0.300000. shaft: setPosition: set: val=0.300000. encdr: updateHook: get: val=0.300000 (new). cntrl: posChanged: new: val=0.300000. cntrl: stop. servo: stop. shaft: stop. encdr: stop. Bye-bye! [alph:3.624377] inf: app=137 terminated.
2. Запуск на локальном компьютере (GNU Linux) [наверх]
Шаг 1.1. Получить исходники w4orocos
Клонировать репозиторий из github:
git clone https://github.com/wrmlab/w4orocos.git
или загрузить zip архив.
Шаг 1.2. Собрать проект w4orocos для локального компьютера
Запустить полную сборку проекта w4orocos для локального компьютера с ОС основанной на GNU Linux (это может занять несколько минут):
cd w4orocos make localhost-build-full B=../build/orocos.loc -j
В результате получим статически слинкованный исполняемый файл orocos.elf:
ls ../build/orocos.loc/demo.oro/build/demo.elf
Шаг 1.3. Запуск исполняемго файла demo.elf
../build/orocos.loc/demo.oro/build/demo.elf
В результате увидим следующий вывод:
Hello Oro! cntrl: construct. servo: construct. shaft: construct. encdr: construct. 0.002 [ Warning][Thread] Lowering scheduler type to SCHED_OTHER for non-privileged users.. 0.002 [ Warning][Activity] Lowering scheduler type to SCHED_OTHER for non-privileged users.. 0.002 [ Warning][Thread] Lowering scheduler type to SCHED_OTHER for non-privileged users.. cntrl: configure. servo: configure. encdr: configure. shaft: configure. cntrl: start. servo: start. shaft: start. encdr: start. shaft: updateHook. encdr: updateHook: get: val=0.000000 (old). cntrl: updateHook: wr: val=0.100000. servo: updateHook: rd: val=0.100000. shaft: setPosition: set: val=0.100000. encdr: updateHook: get: val=0.100000 (new). cntrl: posChanged: new: val=0.100000. encdr: updateHook: get: val=0.100000 (old). cntrl: updateHook: wr: val=0.200000. servo: updateHook: rd: val=0.200000. shaft: setPosition: set: val=0.200000. encdr: updateHook: get: val=0.200000 (new). cntrl: posChanged: new: val=0.200000. encdr: updateHook: get: val=0.200000 (old). cntrl: updateHook: wr: val=0.300000. servo: updateHook: rd: val=0.300000. shaft: setPosition: set: val=0.300000. encdr: updateHook: get: val=0.300000 (new). cntrl: posChanged: new: val=0.300000. encdr: updateHook: get: val=0.300000 (old). cntrl: stop. servo: stop. shaft: stop. encdr: stop. Bye-bye!
Шаг 1.4. Запуск компонентов демонстрационного приложения с помодью deployer'а
make localhost-run-deployer B=../build/orocos.loc
В результате увидим следующий вывод:
Real-time memory: 517904 bytes free of 524288 allocated. 0.000 [ Info ][Logger] No RTT_COMPONENT_PATH set. Using default: /home/worm/Dev/Wrm/build/orocos.loc/orocos/install_isolated/lib/orocos 0.000 [ Info ][Logger] plugin 'rtt' not loaded before. 0.000 [ Info ][Logger] Loading plugin libraries from directory /home/worm/Dev/Wrm/build/orocos.loc/orocos/install_isolated/lib/orocos/gnulinux/./plugins ... 0.001 [ Info ][Logger] Loaded RTT Service 'scripting' from 'rtt-scripting' 0.001 [ Info ][Logger] Loaded RTT Service 'marshalling' from 'rtt-marshalling' 0.001 [ Info ][Logger] typekit 'rtt' not loaded before. 0.001 [ Info ][Logger] Loading typekit libraries from directory /home/worm/Dev/Wrm/build/orocos.loc/orocos/install_isolated/lib/orocos/gnulinux/./types ... 0.017 [ Info ][TypekitRepository::Import] Loading Typekit rtt-types. 0.017 [ Info ][Logger] Loaded RTT TypeKit/Transport 'rtt-types' from 'rtt-typekit' 0.019 [ Info ][TypekitRepository::Import] Loading Transport mqueue://rtt-types. 0.019 [ Info ][TypekitRepository::Import] Registered new 'mqueue' transport for array 0.019 [ Info ][TypekitRepository::Import] Registered new 'mqueue' transport for bool 0.019 [ Info ][TypekitRepository::Import] Registered new 'mqueue' transport for char 0.019 [ Info ][TypekitRepository::Import] Registered new 'mqueue' transport for double 0.020 [ Info ][TypekitRepository::Import] Registered new 'mqueue' transport for float 0.020 [ Info ][TypekitRepository::Import] Registered new 'mqueue' transport for int 0.020 [ Info ][TypekitRepository::Import] Registered new 'mqueue' transport for uint 0.020 [ Info ][Logger] Loaded RTT TypeKit/Transport 'rtt-mqueue-transport' from 'rtt-transport-mqueue' 0.020 [ Info ][Logger] No RTT_COMPONENT_PATH set. Using default: /home/worm/Dev/Wrm/build/orocos.loc/orocos/install_isolated/lib/orocos 0.020 [ Info ][Logger] OCL factory set for real-time logging 0.020 [ Info ][Thread] Creating Thread for scheduler=ORO_SCHED_OTHER, priority=1, CPU affinity=0, with name='Deployer' 0.020 [ Info ][Deployer] Thread created with scheduler type 'ORO_SCHED_OTHER', priority 0, cpu affinity 255 and period 0 (PID= 26421 ). 0.021 [ Info ][Logger] No site file was found. Importing 'ocl' by default. 0.021 [ Info ][ComponentLoader::import(path_list)] Importing directory /home/worm/Dev/Wrm/build/orocos.loc/orocos/install_isolated/lib/orocos/gnulinux/ocl ... 0.023 [ Info ][ComponentLoader::import(path_list)] Loaded multi component library '/home/worm/Dev/Wrm/build/orocos.loc/orocos/install_isolated/lib/orocos/gnulinux/ocl/liborocos-ocl-reporting-gnulinux.so' 0.028 [ Info ][ComponentLoader::import(path_list)] Loaded component type 'OCL::logging::Log4cxxAppender' 0.030 [ Info ][ComponentLoader::import(path_list)] Loaded multi component library '/home/worm/Dev/Wrm/build/orocos.loc/orocos/install_isolated/lib/orocos/gnulinux/ocl/liborocos-ocl-timer-gnulinux.so' 0.031 [ Info ][ComponentLoader::import(path_list)] Loaded component type 'OCL::HelloWorld' 0.032 [ Info ][ComponentLoader::import(path_list)] Loaded multi component library '/home/worm/Dev/Wrm/build/orocos.loc/orocos/install_isolated/lib/orocos/gnulinux/ocl/liborocos-ocl-common-gnulinux.so' 0.033 [ Info ][ComponentLoader::import(path_list)] Loaded multi component library '/home/worm/Dev/Wrm/build/orocos.loc/orocos/install_isolated/lib/orocos/gnulinux/ocl/liborocos-ocl-logging-gnulinux.so' 0.051 [ Info ][ComponentLoader::import(path_list)] Loaded multi component library '/home/worm/Dev/Wrm/build/orocos.loc/orocos/install_isolated/lib/orocos/gnulinux/ocl/liborocos-ocl-reporting-netcdf-gnulinux.so' 0.051 [ Info ][ComponentLoader::import(path_list)] Loaded component type 'OCL::NetcdfReporting' 0.051 [ Info ][ComponentLoader::import(path_list)] Loading typekit libraries from directory /home/worm/Dev/Wrm/build/orocos.loc/orocos/install_isolated/lib/orocos/gnulinux/ocl/types ... 0.054 [ Info ][TypekitRepository::Import] Loading Typekit OCLTypekit. 0.055 [ Info ][ComponentLoader::import(path_list)] Loaded RTT TypeKit/Transport 'OCLTypekit' from 'ocl' 0.055 [ Info ][ComponentLoader::import(path_list)] Loading plugin libraries from directory /home/worm/Dev/Wrm/build/orocos.loc/orocos/install_isolated/lib/orocos/gnulinux/ocl/plugins ... 0.056 [ Info ][ComponentLoader::import(path_list)] Loaded RTT Service 'print' from 'print' 0.057 [ Info ][ComponentLoader::import(path_list)] Loaded RTT Service 'os' from 'os' 0.057 [ Info ][Logger] Loading Service or Plugin scripting in TaskContext Deployer 0.058 [ Info ][Logger] Found complete interface of requested service 'scripting' 0.059 [ Info ][Logger] Running Script ../src/start.ops ... 0.059 [ Info ][Thread] Creating Thread for scheduler=ORO_SCHED_OTHER, priority=1, CPU affinity=0, with name='GlobalEngine' 0.059 [ Info ][GlobalEngine] Thread created with scheduler type 'ORO_SCHED_OTHER', priority 0, cpu affinity 255 and period 0 (PID= 26422 ). 0.067 [ Info ][ComponentLoader::import(package, path_list)] Loaded multi component library 'orocos/gnulinux/demo.oro/libdemocomponents-gnulinux.so' 0.068 [ Info ][Thread] Creating Thread for scheduler=ORO_SCHED_OTHER, priority=1, CPU affinity=0, with name='cntrl' 0.068 [ Info ][cntrl] Thread created with scheduler type 'ORO_SCHED_OTHER', priority 0, cpu affinity 255 and period 0 (PID= 26423 ). cntrl: construct. 0.068 [ Info ][loadComponent] Adding cntrl as new peer: OK. 0.069 [ Info ][Thread] Creating Thread for scheduler=ORO_SCHED_OTHER, priority=1, CPU affinity=0, with name='servo' 0.069 [ Info ][servo] Thread created with scheduler type 'ORO_SCHED_OTHER', priority 0, cpu affinity 255 and period 0 (PID= 26424 ). servo: construct. 0.069 [ Info ][loadComponent] Adding servo as new peer: OK. 0.069 [ Info ][Thread] Creating Thread for scheduler=ORO_SCHED_OTHER, priority=1, CPU affinity=0, with name='encdr' 0.070 [ Info ][encdr] Thread created with scheduler type 'ORO_SCHED_OTHER', priority 0, cpu affinity 255 and period 0 (PID= 26425 ). encdr: construct. 0.070 [ Info ][loadComponent] Adding encdr as new peer: OK. 0.070 [ Info ][Thread] Creating Thread for scheduler=ORO_SCHED_OTHER, priority=1, CPU affinity=0, with name='shaft' 0.070 [ Info ][shaft] Thread created with scheduler type 'ORO_SCHED_OTHER', priority 0, cpu affinity 255 and period 0 (PID= 26426 ). shaft: construct. 0.070 [ Info ][loadComponent] Adding shaft as new peer: OK. 0.071 [ Info ][Thread] Creating Thread for scheduler=ORO_SCHED_OTHER, priority=1, CPU affinity=0, with name='timer' 0.071 [ Info ][timer] Thread created with scheduler type 'ORO_SCHED_OTHER', priority 0, cpu affinity 255 and period 0 (PID= 26427 ). 0.071 [ Info ][Thread] Creating Thread for scheduler=ORO_SCHED_RT, priority=99, CPU affinity=0, with name='Timer' 0.071 [ Warning][Thread] Lowering scheduler type to SCHED_OTHER for non-privileged users.. 0.071 [ Warning][Thread] Forcing priority (99) of thread with SCHED_OTHER policy to 0. 0.071 [ Info ][Timer] Lowering scheduler type to SCHED_OTHER for non-privileged users..Thread created with scheduler type 'ORO_SCHED_OTHER', priority 0, cpu affinity 255 and period 0 (PID= 26428 ). 0.072 [ Info ][loadComponent] Adding timer as new peer: OK. 0.073 [ Info ][connect] Connected Port cntrl.tx-servo to servo.rx-cntrl. 0.075 [ Info ][Thread] Creating Thread for scheduler=ORO_SCHED_OTHER, priority=1, CPU affinity=4294967295, with name='cntrl' 0.075 [ Info ][cntrl] Thread created with scheduler type 'ORO_SCHED_OTHER', priority 0, cpu affinity 255 and period 1 (PID= 26429 ). 0.076 [ Info ][Thread] Creating Thread for scheduler=ORO_SCHED_OTHER, priority=1, CPU affinity=4294967295, with name='encdr' 0.076 [ Info ][encdr] Thread created with scheduler type 'ORO_SCHED_OTHER', priority 0, cpu affinity 255 and period 0.5 (PID= 26430 ). cntrl: configure. servo: configure. encdr: configure. shaft: configure. cntrl: start. servo: start. encdr: start. shaft: start. shaft: updateHook. encdr: updateHook: get: val=0.000000 (old). cntrl: updateHook: wr: val=0.100000. servo: updateHook: rd: val=0.100000. shaft: setPosition: set: val=0.100000. encdr: updateHook: get: val=0.100000 (new). cntrl: posChanged: new: val=0.100000. encdr: updateHook: get: val=0.100000 (old). cntrl: updateHook: wr: val=0.200000. servo: updateHook: rd: val=0.200000. shaft: setPosition: set: val=0.200000. encdr: updateHook: get: val=0.200000 (new). cntrl: posChanged: new: val=0.200000. encdr: updateHook: get: val=0.200000 (old). cntrl: updateHook: wr: val=0.300000. servo: updateHook: rd: val=0.300000. shaft: setPosition: set: val=0.300000. encdr: updateHook: get: val=0.300000 (new). cntrl: posChanged: new: val=0.300000. encdr: updateHook: get: val=0.300000 (old). cntrl: stop. encdr: updateHook: get: val=0.300000 (old). servo: stop. encdr: stop. shaft: stop. 4.578 [ Info ][Thread] Creating Thread for scheduler=ORO_SCHED_OTHER, priority=1, CPU affinity=0, with name='TaskBrowser' 4.578 [ Info ][TaskBrowser] Thread created with scheduler type 'ORO_SCHED_OTHER', priority 0, cpu affinity 255 and period 0 (PID= 26451 ). Switched to : Deployer 4.578 [ Info ][Logger] Entering Task Deployer This console reader allows you to browse and manipulate TaskContexts. You can type in an operation, expression, create or change variables. (type 'help' for instructions and 'ls' for context info) TAB completion and HISTORY is available ('bash' like) Use 'Ctrl-D' or type 'quit' to exit this program.
- Войдите или зарегистрируйтесь, чтобы оставлять комментарии