āĻāĻŋ āĻĻāĻā§āĻˇāĻŋāĻŖ āĻāĻŽā§āĻ°āĻŋāĻāĻžāĻ° āĻ¨ā§āĻ¤ā§āĻ¯ ?
āĻāĻāĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻšāĻžāĻ°ā§āĻĄāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻŦāĻ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĨ¤
TANGO āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ 4āĻāĻŋ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§: Linux, Windows NT, Solaris āĻāĻŦāĻ HP-UXāĨ¤
āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻŦ (āĻāĻŦā§āĻ¨ā§āĻā§ 18.04)
āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻāĻžāĻ¨ā§āĻ¨?
āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻ°āĻā§āĻāĻžāĻŽ āĻāĻŦāĻ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻžāĻ āĻ¸āĻšāĻ āĻāĻ°ā§āĨ¤
- āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻĄā§āĻāĻž āĻā§āĻāĻžāĻŦā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻŦā§āĻ¨ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻžāĻŦāĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž, āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻšāĻ¯āĻŧā§ āĻā§āĻā§āĨ¤
- āĻāĻāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ˛āĻŋāĻ āĻ¸ā§āĻ¨ā§āĻ¸āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨.
- āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻĄāĻā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§ āĻāĻŽāĻŋāĻ¯āĻŧā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻā§āĻĨāĻžāĻ¯āĻŧ āĻĒāĻžāĻŦā§āĻ¨
āĻ¸ā§āĻ¤ā§āĻ° āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻāĻŦā§āĻ¨ā§āĻā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻā§āĻ¯āĻžāĻā§āĻā§āĻŦāĻā§āĻ¸ āĻāĻŋāĻ¤ā§āĻ°
āĻāĻŽāĻŋ āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻĨā§āĻā§ āĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĻ¨āĻŋ; āĻāĻŽāĻŋ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ TangoBox 9.3-āĻāĻ° āĻāĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ-āĻ¤ā§āĻ°āĻŋ āĻāĻŦāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋāĨ¤
āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°ā§ āĻāĻŋāĻāĻžāĻŦā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĨā§āĻā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧāĨ¤
āĻāĻāĻž āĻāĻŋ āĻāĻ āĻŋāĻ¤?
- āĻā§āĻŦāĻŋāĻ¤ â TANGO āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻĻā§āĻāĻ¤ā§ āĻāĻŦāĻ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
- āĻĒā§āĻā§ â TANGO āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ°āĨ¤
- Astor â TANGO āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ°āĨ¤
āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĻā§āĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻā§āĻ°āĻšā§ āĻšāĻŦā§.
āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻž
- C
- āĻ¸āĻŋ ++
- āĻāĻžāĻāĻž
- āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ
- āĻĒāĻžāĻāĻĨāĻ¨
- āĻŽāĻ¤āĻ˛āĻŦ
- āĻ˛ā§āĻ¯āĻžāĻŦāĻāĻŋāĻ
āĻāĻŽāĻŋ āĻāĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻŦāĻ āĻ¸āĻŋ ++ āĻ āĻāĻžāĻ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻāĻžāĻ¨ā§ C++ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸ā§āĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻāĻāĻ¨ āĻāĻ¸ā§āĻ¨ TANGO āĻāĻ° āĻ¸āĻžāĻĨā§ āĻĄāĻŋāĻāĻžāĻāĻ¸āĻāĻŋāĻā§ āĻā§āĻāĻžāĻŦā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻŦā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻŦā§āĻ¨ āĻ¤āĻžāĻ° āĻāĻāĻāĻŋ āĻŦāĻŋāĻŦāĻ°āĻŖā§ āĻāĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻāĨ¤ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĢāĻŋ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻŦā§ GPS neo-6m-0-001:
āĻāĻĒāĻ¨āĻŋ āĻāĻŦāĻŋāĻ¤ā§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, āĻāĻŽāĻ°āĻž UART CP2102 āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻŦā§āĻ°ā§āĻĄāĻāĻŋāĻā§ āĻĒāĻŋāĻ¸āĻŋāĻ¤ā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻŋāĨ¤ āĻāĻāĻāĻŋ āĻĒāĻŋāĻ¸āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻšāĻ˛ā§, āĻĄāĻŋāĻāĻžāĻāĻ¸āĻāĻŋ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧ /dev/ttyUSB[0-N], āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ /dev/ttyUSB0āĨ¤
āĻĒā§āĻā§
āĻāĻāĻ¨ āĻ˛āĻā§āĻ āĻāĻ°āĻž āĻ¯āĻžāĻ āĻĒā§āĻā§, āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻ°ā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻā§āĻāĻžāĻ˛ āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤
pogo
āĻāĻŽāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻāĻŋ, āĻāĻ¸ā§āĻ¨ āĻāĻāĻŋ āĻāĻŦāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ āĻĢāĻžāĻāĻ˛->āĻ¨āĻ¤ā§āĻ¨.
āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒā§āĻ¤ā§:
āĻāĻŽāĻžāĻĻā§āĻ° āĻĄāĻŋāĻāĻžāĻāĻ¸ (āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§, āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻŽāĻ°āĻž āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ āĻāĻļ āĻŦā§āĻāĻžāĻŦ) āĻāĻžāĻ˛āĻŋ āĻāĻŦāĻ āĻĻā§āĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ°āĻ¯āĻŧā§āĻā§: āĻ°āĻžāĻˇā§āĻā§āĻ° & āĻ āĻŦāĻ¸ā§āĻĨāĻž.
āĻāĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻā§āĻŖāĻžāĻŦāĻ˛ā§ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻŖ āĻāĻ°āĻž āĻāĻŦāĻļā§āĻ¯āĻ:
āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ â āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŽāĻžāĻ¨ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻĄāĻŋāĻāĻžāĻāĻ¸ā§ āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĢāĻžāĻ° āĻāĻ°āĻŋ āĻāĻāĻŋ āĻāĻ°āĻŽā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯; GPS āĻŦā§āĻ°ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻŦā§āĻ°ā§āĻĄā§āĻ° āĻ¨āĻžāĻŽ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ com="/dev/ttyUSB0" āĻāĻŦāĻ com āĻĒā§āĻ°ā§āĻ āĻāĻ¤āĻŋ āĻŦāĻāĻĄā§āĻ°ā§āĻĄ=9600
āĻāĻŽāĻžāĻ¨ā§āĻĄ â āĻāĻŽāĻžāĻĻā§āĻ° āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ; āĻ¤āĻžāĻĻā§āĻ° āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻĻā§āĻāĻ¯āĻŧāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
- āĻ āĻŦāĻ¸ā§āĻĨāĻž - āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§, āĻĨā§āĻā§ āĻ¯ā§āĻā§āĻ¤āĻ°āĻžāĻˇā§āĻā§āĻ°
- āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ - āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§, āĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻ° āĻĒāĻ°āĻŋāĻĒā§āĻ°āĻ āĻ āĻŦāĻ¸ā§āĻĨāĻž
- GSAarray - āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻŋāĻĒāĻŋāĻāĻ¸ āĻāĻāĻžāĻ°ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻ DevVarCharArray
āĻāĻ° āĻĒāĻ°ā§, āĻĄāĻŋāĻāĻžāĻāĻ¸ā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋ āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨ āĻ¯āĻž āĻāĻāĻŋ āĻĨā§āĻā§/āĻĒāĻĄāĻŧāĻž/āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻ¸ā§āĻā§āĻ˛āĻžāĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ - āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ (āĻāĻžāĻ°, āĻ¸ā§āĻā§āĻ°āĻŋāĻ, āĻĻā§āĻ°ā§āĻ, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ)
āĻŦāĻ°ā§āĻŖāĻžāĻ˛ā§ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ - āĻāĻ-āĻŽāĻžāĻ¤ā§āĻ°āĻŋāĻ āĻ
ā§āĻ¯āĻžāĻ°ā§
āĻāĻŋāĻ¤ā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ - āĻĻā§āĻŦāĻŋ-āĻŽāĻžāĻ¤ā§āĻ°āĻŋāĻ āĻ
ā§āĻ¯āĻžāĻ°ā§
āĻ¯ā§āĻā§āĻ¤āĻ°āĻžāĻˇā§āĻā§āĻ° â āĻāĻŽāĻžāĻĻā§āĻ° āĻĄāĻŋāĻāĻžāĻāĻ¸āĻāĻŋ āĻ¯ā§ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻ āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤
- āĻā§āĻ˛āĻž â āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻā§āĻ˛āĻž āĻāĻā§āĨ¤
- āĻŦāĻ¨ā§āĻ§ - āĻĄāĻŋāĻāĻžāĻāĻ¸āĻāĻŋ āĻŦāĻ¨ā§āĻ§āĨ¤
- āĻŦā§āĻ¯āĻ°ā§āĻĨ - āĻ¤ā§āĻ°ā§āĻāĻŋ.
- ON - āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§āĻ¨āĨ¤
- āĻŦāĻ¨ā§āĻ§ - āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻĨā§āĻā§ āĻā§āĻ¨ āĻĄā§āĻāĻž āĻ¨ā§āĻāĨ¤
āĻāĻāĻāĻŋ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŋāĻĒāĻŋāĻāĻ¸_āĻ¸ā§āĻā§āĻ°āĻŋāĻ:
āĻā§āĻā§āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ āĻ¸āĻŽāĻ¯āĻŧ ms, āĻāĻ¤ āĻāĻ¨ āĻāĻ¨ gps_string āĻŽāĻžāĻ¨ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻĒāĻĄā§āĻā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻ¨āĻž āĻĨāĻžāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŖāĻ¤:
āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻĢāĻžāĻāĻ˛->āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°ā§āĻ¨
āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻšāĻ¯āĻŧ āĻ¨āĻž; āĻĒā§āĻ°āĻĨāĻŽāĻŦāĻžāĻ° āĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻžāĻā§āĻ¸āĻāĻŋ āĻā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻāĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻžāĻ¤ā§ āĻāĻāĻŋāĻ¤ā§ āĻāĻ°āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻāĻ¨ā§āĻŽā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŽā§āĻā§ āĻ¨āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻāĻāĻŦāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§ (āĻ¸āĻāĻāĻ˛āĻ¨ āĻā§, āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĢāĻžāĻāĻ˛ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻ°ā§āĻ¨), āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻā§āĻ˛ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻāĻāĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻāĨ¤ pogo āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻā§:
āĻāĻŽāĻ°āĻž NEO6M.cpp āĻāĻŦāĻ NEO6M.h-āĻ āĻāĻā§āĻ°āĻšā§ āĻšāĻŦāĨ¤ āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ āĻāĻ¨āĻ¸ā§āĻā§āĻ°āĻžāĻā§āĻāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ:
NEO6M::NEO6M(Tango::DeviceClass *cl, string &s)
: TANGO_BASE_CLASS(cl, s.c_str())
{
/*----- PROTECTED REGION ID(NEO6M::constructor_1) ENABLED START -----*/
init_device();
/*----- PROTECTED REGION END -----*/ // NEO6M::constructor_1
}
āĻāĻŋ āĻāĻā§ āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§ āĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ? init_device() āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻŽā§āĻŽāĻ°āĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°ā§: āĻāĻŋāĻĒāĻŋāĻāĻ¸_āĻ¸ā§āĻā§āĻ°āĻŋāĻ & āĻāĻŋāĻĒāĻŋāĻāĻ¸_āĻ ā§āĻ¯āĻžāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻāĻžāĻ¨ā§ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻāĻŋāĻ¨āĻŋāĻ¸, āĻāĻ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯:
/*----- PROTECTED REGION ID(NEO6M::constructor_1) ENABLED START -----*/
.......
/*----- PROTECTED REGION END -----*/ // NEO6M::constructor_1
āĻāĻ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻŦā§āĻ˛āĻā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻĨāĻžāĻāĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻŋāĻā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻā§āĻĄ āĻĒā§āĻ¨āĻ°ā§āĻāĻ¨ā§āĻŽā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻā§āĻ¤ā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻŦā§ āĻ¨āĻž āĻĻā§āĻ°ā§ āĻ¸āĻ°!. āĻ¸āĻŦāĻ āĻ¯ā§ āĻŦā§āĻ˛āĻā§ āĻĨāĻžāĻāĻŦā§ āĻ¨āĻž! āĻāĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻā§āĻ˛āĻŋ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
āĻāĻāĻ¨ āĻā§āĻ˛āĻžāĻ¸ā§āĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻā§ āĻā§? NEO6M:
void always_executed_hook();
void read_attr_hardware(vector<long> &attr_list);
void read_gps_string(Tango::Attribute &attr);
void read_gps_array(Tango::Attribute &attr);
āĻ¯āĻāĻ¨ āĻāĻŽāĻ°āĻž āĻ ā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻ āĻŽāĻžāĻ¨ āĻĒāĻĄāĻŧāĻ¤ā§ āĻāĻžāĻ āĻāĻŋāĻĒāĻŋāĻāĻ¸_āĻ¸ā§āĻā§āĻ°āĻŋāĻ, āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻā§āĻ°āĻŽā§ āĻŦāĻ˛āĻž āĻšāĻŦā§: āĻ¸āĻ°ā§āĻŦāĻĻāĻž_āĻāĻžāĻ˛āĻŋāĻ¤_āĻšā§āĻ, read_attr_hardware и read_gps_string. Read_gps_string āĻŽāĻžāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ gps_string āĻĒā§āĻ°āĻŖ āĻāĻ°āĻŦā§āĨ¤
void NEO6M::read_gps_string(Tango::Attribute &attr)
{
DEBUG_STREAM << "NEO6M::read_gps_string(Tango::Attribute &attr) entering... " << endl;
/*----- PROTECTED REGION ID(NEO6M::read_gps_string) ENABLED START -----*/
// Set the attribute value
*this->attr_gps_string_read = Tango::string_dup(this->gps.c_str());
attr.set_value(attr_gps_string_read);
/*----- PROTECTED REGION END -----*/ // NEO6M::read_gps_string
}
āĻ¸āĻāĻāĻ˛āĻ¨
āĻāĻ¤ā§āĻ¸ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ:
make
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻŋ ~/DeviceServers āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
tango-cs@tangobox:~/DeviceServers$ ls
NEO6M
āĻā§āĻŦāĻŋāĻ¤
jive
āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻŋāĻā§ āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻ°āĻ¯āĻŧā§āĻā§, āĻāĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž-> āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
āĻāĻāĻ¨ āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻž āĻ¯āĻžāĻ:
āĻāĻŋāĻā§āĻ āĻāĻžāĻ āĻāĻ°āĻŦā§ āĻ¨āĻž, āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻšāĻŦā§:
sudo ./NEO6M neo6m -v2
āĻāĻŽāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ āĻ§āĻŋāĻāĻžāĻ° āĻ¸āĻš com āĻĒā§āĻ°ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻļāĻŋāĻāĻĄāĻŧ-āĻāĻŦāĻ. v - āĻ˛āĻāĻŋāĻ āĻ¸ā§āĻ¤āĻ°āĨ¤
āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
āĻā§āĻ°ā§āĻ¤āĻž
āĻā§āĻ°āĻžāĻĢāĻŋāĻā§āĻ¸ā§, āĻāĻŦāĻŋ āĻĻā§āĻāĻž āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻžāĻ˛, āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ°āĻ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻāĻŋāĻā§ āĻĻāĻ°āĻāĻžāĻ°āĨ¤ āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ˛āĻŋāĻāĻŋ āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻĄāĻŋāĻāĻžāĻāĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻĨā§āĻā§ āĻ°āĻŋāĻĄāĻŋāĻ āĻ¨ā§āĻŦā§āĨ¤
#include <tango.h>
using namespace Tango;
int main(int argc, char **argv) {
try {
//
// create a connection to a TANGO device
//
DeviceProxy *device = new DeviceProxy("NEO6M/neo6m/1");
//
// Ping the device
//
device->ping();
//
// Execute a command on the device and extract the reply as a string
//
vector<Tango::DevUChar> gps_array;
DeviceData cmd_reply;
cmd_reply = device->command_inout("GPSArray");
cmd_reply >> gps_array;
for (int i = 0; i < gps_array.size(); i++) {
printf("%c", gps_array[i]);
}
puts("");
//
// Read a device attribute (string data type)
//
string spr;
DeviceAttribute att_reply;
att_reply = device->read_attribute("gps_string");
att_reply >> spr;
cout << spr << endl;
vector<Tango::DevUChar> spr2;
DeviceAttribute att_reply2;
att_reply2 = device->read_attribute("gps_array");
att_reply2.extract_read(spr2);
for (int i = 0; i < spr2.size(); i++) {
printf("%c", spr2[i]);
}
puts("");
} catch (DevFailed &e) {
Except::print_exception(e);
exit(-1);
}
}
āĻāĻŋāĻāĻžāĻŦā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻŦā§āĻ¨:
g++ gps.cpp -I/usr/local/include/tango -I/usr/local/include -I/usr/local/include -std=c++0x -Dlinux -L/usr/local/lib -ltango -lomniDynamic4 -lCOS4 -lomniORB4 -lomnithread -llog4tango -lzmq -ldl -lpthread -lstdc++
āĻĢāĻ˛āĻžāĻĢāĻ˛:
tango-cs@tangobox:~/workspace/c$ ./a.out
$GPRMC,,V,,,,,,,,,,N*53
$GPRMC,,V,,,,,,,,,,N*53
$GPRMC,,V,,,,,,,,,,N*53
āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ, āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻāĻŦāĻ āĻ āĻā§āĻˇāĻ°āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻ¨āĻŋāĻ¯āĻŧā§āĨ¤
āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸
āĻāĻŽāĻŋ āĻ¨āĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻ˛āĻŋāĻā§āĻāĻŋāĻ˛āĻžāĻŽ, āĻāĻžāĻ°āĻŖ āĻāĻŋāĻā§āĻā§āĻˇāĻŖ āĻĒāĻ°ā§ āĻāĻŽāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻŦāĻ āĻā§ āĻāĻ°āĻŦ āĻ¤āĻž āĻā§āĻ˛ā§ āĻ¯ā§āĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°āĻŋāĨ¤
āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻ¨ā§āĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻāĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com