рдХреНрдпрд╛ рд╣реИ рдЯреИрдВрдЧреЛ ?
рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдгрд╛рд▓реА рд╣реИред
рдЯреИрдВрдЧреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ 4 рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: рд▓рд┐рдирдХреНрд╕, рд╡рд┐рдВрдбреЛрдЬ рдПрдирдЯреА, рд╕реЛрд▓рд╛рд░рд┐рд╕ рдФрд░ рдПрдЪрдкреА-рдпреВрдПрдХреНрд╕ред
рдпрд╣рд╛рдВ рд╣рдо рд▓рд┐рдирдХреНрд╕ (рдЙрдмрдВрдЯреВ 18.04) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВрдЧреЗ
рдпрд╣ рдХрд┐рд╕ рд▓рд┐рдП рд╣реИ?
рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИред
- рдЖрдкрдХреЛ рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╣реА рд╣реЛ рдЪреБрдХрд╛ рд╣реИред
- рдХреЗрд╡рд▓ рдорддрджрд╛рди рд╕реЗрдВрд╕рд░реЛрдВ рдХреЗ рддрдВрддреНрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
- рдЖрдкрдХреЗ рд╕рднреА рдХреЛрдб рдХреЛ рдПрдХ рдорд╛рдирдХ рдкрд░ рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИред
рдХрд╣рд╛рдВ рд╕реЗ рд▓рд╛рдПрдВ?
рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рд╕реНрдерд╛рдкрдирд╛ рдирд┐рд░реНрджреЗрд╢ рдЙрдмрдВрдЯреВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЯреИрдВрдЧреЛрдмреЙрдХреНрд╕ рдЫрд╡рд┐
рдореИрдВ рдЗрд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рд▓реЙрдиреНрдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛; рдореИрдВрдиреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдВрдЧреЛрдмреЙрдХреНрд╕ 9.3 рдХреА рддреИрдпрд╛рд░ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рдирд┐рд░реНрджреЗрд╢ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдкреИрдХреЗрдЬреЛрдВ рд╕реЗ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ?
- рдмрдХ - рдЯреИрдВрдЧреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдкреЛрдЧреЛ - рдЯреИрдВрдЧреЛ рдбрд┐рд╡рд╛рдЗрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЬрдирд░реЗрдЯрд░ред
- рдПрд╕реНрдЯрд░ - рдЯреИрдВрдЧреЛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореИрдиреЗрдЬрд░ред
рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рджреЛ рдШрдЯрдХреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд╣реЛрдЧреАред
рд╕рдорд░реНрдерд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдПрдБ
- C
- рд╕реА + +
- рдЬрд╛рд╡рд╛
- рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ
- рдЕрдЬрдЧрд░
- matlab
- LabVIEW
рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдкрд╛рдпрдерди рдФрд░ рд╕реА++ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ред рдпрд╣рд╛рдВ C++ рдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛.
рдЖрдЗрдП рдЕрдм рдЗрд╕ рд╡рд┐рд╡рд░рдг рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЯреИрдВрдЧреЛ рд╕реЗ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╢реБрд▓реНрдХ рдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреАрдкреАрдПрд╕ рдирд┐рдпреЛ-6рдПрдо-0-001:
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЪрд┐рддреНрд░ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рдмреЛрд░реНрдб рдХреЛ UART CP2102 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреАрд╕реА рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдкреАрд╕реА рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░, рдбрд┐рд╡рд╛рдЗрд╕ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ /dev/ttyUSB[0-N], рдЖрдорддреМрд░ рдкрд░ /dev/ttyUSB0.
рдкреЛрдЧреЛ
рдЕрдм рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ рдкреЛрдЧреЛ, рдФрд░ рд╣рдорд╛рд░реЗ рдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреЗрд▓реЗрдЯрди рдХреЛрдб рддреИрдпрд╛рд░ рдХрд░реЗрдВред
pogo
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХреЛрдб рдмрдирд╛ рд▓рд┐рдпрд╛ рд╣реИ, рдЪрд▓рд┐рдП рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВ рдлрд╝рд╛рдЗрд▓->рдирдпрд╛.
рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд┐рд▓рддрд╛ рд╣реИ:
рд╣рдорд╛рд░рд╛ рдЙрдкрдХрд░рдг (рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЙрдкрдХрд░рдг рд╕реЗ рд╣рдорд╛рд░рд╛ рддрд╛рддреНрдкрд░реНрдп рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рднрд╛рдЧ рд╕реЗ рд╣реЛрдЧрд╛) рдЦрд╛рд▓реА рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рджреЛ рдирд┐рдпрдВрддреНрд░рдг рдЖрджреЗрд╢ рд╣реИрдВ: рд░рд╛рдЬреНрдп & рд╕реНрдерд┐рддрд┐.
рдЗрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕реЗ рднрд░рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
рдбрд┐рд╡рд╛рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ; рдЬреАрдкреАрдПрд╕ рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмреЛрд░реНрдб рдХрд╛ рдирд╛рдо рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ com='/dev/ttyUSB0' рдФрд░ рдХреЙрдо рдкреЛрд░реНрдЯ рд╕реНрдкреАрдб рдмреЙрдбреНрд░реЗрдб=9600
рдХрдорд╛рдиреЛрдВ - рд╣рдорд╛рд░реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢; рдЙрдиреНрд╣реЗрдВ рддрд░реНрдХ рдФрд░ рд░рд┐рдЯрд░реНрди рдорд╛рди рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рд░рд╛рдЬреНрдп - рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рд╕реЗ рд░рд╛рдЬреНрдп
- рд╕реНрдерд┐рддрд┐ - рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдпрд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдкреВрд░рдХ рд╣реИ рд░рд╛рдЬреНрдп
- рдЬреАрдкреАрдПрд╕рдЕрд░реЗ - рд░рд┐рдЯрд░реНрди рдЬреАрдкреАрдПрд╕ рдкреНрд░рдкрддреНрд░ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ DevVarCharArray
рдЗрд╕рдХреЗ рдмрд╛рдж, рдбрд┐рд╡рд╛рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╕реЗрдЯ рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕рд╕реЗ рдкрдврд╝рд╛/рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХреЗред
рдЕрджрд┐рд╢ рдЧреБрдг - рд╕рд░рд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ (рдЪрд╛рд░, рд╕реНрдЯреНрд░рд┐рдВрдЧ, рд▓рдВрдмреА, рдЖрджрд┐)
рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдЧреБрдг - рдПрдХ рдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпрд╛рдБ
рдЫрд╡рд┐ рдЧреБрдг - рджреНрд╡рд┐-рдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпрд╛рдБ
рд░рд╛рдЬреНрдп - рд╡рд╣ рд╕реНрдерд┐рддрд┐ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░рд╛ рдЙрдкрдХрд░рдг рд╕реНрдерд┐рдд рд╣реИред
- рдЦреБрд▓реА - рдбрд┐рд╡рд╛рдЗрд╕ рдЦреБрд▓рд╛ рд╣реИ.
- рдмрдВрдж - рдбрд┐рд╡рд╛рдЗрд╕ рдмрдВрдж рд╣реИ.
- рдЕрд╕рдлрд▓ - рдЧрд▓рддреАред
- ON - рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
- рдмрдВрдж тАФ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ.
рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдЬреАрдкреАрдПрд╕_рд╕реНрдЯреНрд░рд┐рдВрдЧ:
рдорддрджрд╛рди рдЕрд╡рдзрд┐ рдПрдордПрд╕ рдореЗрдВ рд╕рдордп, рдЬреАрдкреАрдПрд╕_рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рдХрд┐рддрдиреА рдмрд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЕрджреНрдпрддрди рд╕рдордп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдз рдкрд░ рдЕрджреНрдпрддрди рдХреА рдЬрд╛рдПрдЧреАред
рдШрдЯрд┐рдд:
рдЕрдм рдЖрдкрдХреЛ рдХреЛрдб рдЬрдирд░реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдлрд╝рд╛рдЗрд▓->рдЬрдирд░реЗрдЯ рдХрд░реЗрдВ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдореЗрдХрдлрд╝рд╛рдЗрд▓ рдЬреЗрдирд░реЗрдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ; рдкрд╣рд▓реА рдмрд╛рд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЙрдХреНрд╕ рдХреЛ рдЪреЗрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдирдИ рдкреАрдврд╝реА рдХреЗ рджреМрд░рд╛рди рдЗрд╕рдореЗрдВ рдХрд┐рдП рдЧрдП рдмрджрд▓рд╛рд╡ рдбрд┐рд▓реАрдЯ рди рд╣реЛ рдЬрд╛рдПрдВред рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдмрдирд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ (рд░рдЬрд┐рд╕реНрдЯрд░ рд╕рдВрдХрд▓рди рдХреБрдВрдЬреА, рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝рд╛рдЗрд▓реЗрдВ) рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдм рдЪрд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдУрд░ рдмрдврд╝рддреЗ рд╣реИрдВред рдкреЛрдЧреЛ рдиреЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛:
рд╣рдореЗрдВ 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() рдлрд╝рдВрдХреНрд╢рди рд╣рдорд╛рд░реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИ: рдЬреАрдкреАрдПрд╕_рд╕реНрдЯреНрд░рд┐рдВрдЧ & gps_array, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ. рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╣реИ, рдпреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╣реИрдВ:
/*----- 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_рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ ╨╕ 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
рдореИрдВ рдХреЗрд╡рд▓ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХреЙрдо рдкреЛрд░реНрдЯ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрдбрд╝рд░реЛрдВред 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