Date: Fri, 29 Mar 2024 06:28:55 +0800 (CST) Message-ID: <103813541.6935.1711664935867@2ec0c82278c4> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_6934_585072798.1711664935866" ------=_Part_6934_585072798.1711664935866 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
=E6=9C=AC=E9=A1=B5=E4=BB=8B=E7=BB=8D=E4=BA=86=E5=9F=BA=E4=BA=8EWindows S= DK=E7=9A=84=E4=B8=80=E4=B8=AA=E7=AE=80=E5=8D=95SDK=E5=BA=94=E7=94=A8=E7=A8= =8B=E5=BA=8F=EF=BC=8C=E5=85=B6=E5=9F=BA=E4=BA=8EMFC=E5=AF=B9=E8=AF=9D=E6=A1= =86=EF=BC=8C=E5=8C=85=E5=90=AB=E4=BB=A5=E4=B8=8B=E5=87=A0=E4=B8=AA=E4=B8=BB= =E8=A6=81=E5=8A=9F=E8=83=BD
=E6=AD=A4=E5=8F=82=E8=80=83=E8=AE=BE=E8=AE=A1=E5=B0=BD=E9=87=8F=E5=8E=BB= =E9=99=A4=E4=BA=86=E4=B8=8ESDK=E6=97=A0=E5=85=B3=E7=9A=84=E6=8A=80=E6=9C=AF= =E7=BB=86=E8=8A=82=EF=BC=8C=E4=BE=8B=E5=A6=82=E4=BD=BF=E7=94=A8=E6=9C=80=E7= =AE=80=E5=8D=95=E7=9A=84MFC=E5=AF=B9=E8=AF=9D=E6=A1=86=E7=A8=8B=E5=BA=8F=EF= =BC=8C=E4=BD=BF=E7=94=A8=E5=9F=BA=E4=BA=8E=E5=AE=9A=E6=97=B6=E5=99=A8=E7=9A= =84=E5=9C=B0=E5=9B=BE=E7=BB=98=E5=88=B6=EF=BC=8C=E6=B2=A1=E6=9C=89=E5=BC=95= =E5=85=A5=E5=A4=9A=E7=BA=BF=E7=A8=8B=E6=9C=BA=E5=88=B6=E7=AD=89=E3=80=82=E5= =85=B6=E8=AE=BE=E8=AE=A1=E7=9B=AE=E6=A0=87=E6=98=AF
=E6=AD=A4=E5=8F=82=E8=80=83=E4=BE=8B=E7=A8=8B=E4=BB=A3=E7=A0=81=E6=B2=A1= =E6=9C=89=E7=BB=8F=E8=BF=87=E8=AF=A6=E7=BB=86=E7=9A=84=E9=87=8F=E4=BA=A7=E5= =93=81=E8=B4=A8=E6=B5=8B=E8=AF=95=EF=BC=8C=E5=9B=A0=E6=AD=A4=E6=97=A0=E6=B3= =95=E7=9B=B4=E6=8E=A5=E7=94=A8=E4=BA=8E=E4=BA=A7=E5=93=81=E7=BA=A7=E5=BC=80= =E5=8F=91=E3=80=82
=E6=AD=A4=E4=BE=8B=E7=A8=8B=E4=BB=85=E7=94=A8=E4=BA=8E=E5=B1=95=E7=A4=BA= =E5=A6=82=E4=BD=95=E4=BD=BF=E7=94=A8SDK=E6=8E=A5=E5=8F=A3=E7=9A=84=E5=B8=B8= =E8=A7=81=E6=8E=A5=E5=8F=A3=E5=87=BD=E6=95=B0=EF=BC=8C=E6=8F=90=E4=BE=9B=E5= =BF=AB=E9=80=9F=E5=BC=80=E5=8F=91=E7=9A=84=E5=8F=82=E8=80=83=E6=A0=B7=E4=BE= =8B=E3=80=82
=E7=9B=B4=E6=8E=A5=E4=BD=BF=E7=94=A8=E6=AD=A4=E4=BB=A3=E7=A0=81=E7=94=A8= =E4=BA=8E=E6=9C=80=E7=BB=88=E4=BA=A7=E5=93=81=EF=BC=8C=E5=B9=B6=E7=94=B1=E6= =AD=A4=E4=BA=A7=E7=94=9F=E7=9A=84=E9=94=99=E8=AF=AF=E6=88=96=E6=98=AF=E6=95= =85=E9=9A=9C=EF=BC=8C=E4=B8=8D=E5=9C=A8=E6=9C=AC=E5=8F=B8=E8=B4=A3=E4=BB=BB= =E8=8C=83=E5=9B=B4=E4=B9=8B=E5=86=85=E3=80=82
=E6=9C=AC=E9=A1=B5=E5=86=85=E5=AE=B9
Sample Code:
=E4=BD=BF=E7=94=A8=E6=9B=B4=E9=AB=98=E7=89=88=E6=9C=AC=E7=9A=84Visual St= udio=E5=8F=AF=E8=83=BD=E4=BC=9A=E5=B8=A6=E6=9D=A5=E7=BC=96=E8=AF=91=E5=BC= =82=E5=B8=B8=E3=80=82
=E4=BD=BF=E7=94=A8Visual Studio 2010=EF=BC=88=E6=97=A0SP1=EF=BC=89=E5=8F= =AF=E8=83=BD=E4=BC=9A=E5=9B=A0=E4=B8=BA=E6=97=A0=E6=B3=95=E4=B8=8E.Net Fram= ework=E5=85=BC=E5=AE=B9=E8=80=8C=E6=8A=A5=E7=BC=96=E8=AF=91=E9=94=99=E8=AF= =AF=EF=BC=8C=E6=AD=A4=E6=97=B6=E5=A2=9E=E5=8A=A0SP1=E6=9B=B4=E6=96=B0=E5=8C= =85=E5=8D=B3=E5=8F=AF=E8=A7=A3=E5=86=B3=E9=97=AE=E9=A2=98
=EF=BC=88=E4=BB=A5=E4=B8=8B=E4=BB=BB= =E9=80=89=E5=85=B6=E4=B8=80=EF=BC=89
Zeus/Apollo=E7=AD=89=E5=BA=95=E7=9B=98=E7= =B3=BB=E7=BB=9F
=E5=AF=B9=E4=BA=8E=E9=A6=96=E6=AC=A1=E4=BD=BF=E7=94=A8Slamware SDK=E8=BF= =9B=E8=A1=8C=E7=BC=96=E7=A8=8B=E7=9A=84=E7=94=A8=E6=88=B7=E6=9D=A5=E8=AF=B4= =EF=BC=8C=E4=B8=8D=E5=BB=BA=E8=AE=AE=E5=9C=A8=E6=9C=80=E5=BC=80=E5=A7=8B=E4= =BD=BF=E7=94=A8=E5=9F=BA=E4=BA=8E=E8=87=AA=E5=B7=B1=E5=BA=95=E7=9B=98=E6=90= =AD=E8=BD=BDSlamcore=E6=A8=A1=E5=9D=97=E7=94=A8=E4=BA=8E=E4=BA=A7=E5=93=81= =E5=BC=80=E5=8F=91=E3=80=82=E6=AD=A4=E6=96=B9=E5=BC=8F=E6=97=A0=E6=B3=95=E6= =9C=89=E6=95=88=E5=AE=9A=E4=BD=8D=E9=97=AE=E9=A2=98=EF=BC=8C=E5=8D=B3=E6=98= =AF=E5=9F=BA=E4=BA=8ESDK=E7=9A=84=E5=BA=94=E7=94=A8=E7=A8=8B=E5=BA=8F=E9=97= =AE=E9=A2=98=EF=BC=8C=E8=BF=98=E6=98=AF=E5=BA=95=E7=9B=98=E9=83=A8=E5=88=86= =E5=AD=98=E5=9C=A8=E6=95=85=E9=9A=9C=E3=80=82=E5=BC=BA=E7=83=88=E5=BB=BA=E8= =AE=AE=E9=80=89=E6=8B=A9=E4=BB=A5=E4=B8=8A=E5=88=97=E8=A1=A8=E4=B8=AD=E7=9A= =84=E4=B8=80=E4=B8=AA=E7=94=A8=E4=BA=8E=E5=88=9D=E5=A7=8B=E5=BC=80=E5=8F=91= =E3=80=82
=E6=89=93=E5=BC=80=E5=8F=82=E8=80=83=E5=B7= =A5=E7=A8=8B=E6=96=87=E4=BB=B6=EF=BC=8C=E5=8F=B3=E9=94=AE=E6=89=93=E5=BC=80= =E5=B1=9E=E6=80=A7=E9=80=89=E9=A1=B9=EF=BC=8C=E5=B0=86Slamware SDK =E7=9A= =84include=E7=9B=AE=E5=BD=95=E5=92=8Clib=E7=9B=AE=E5=BD=95=E6=B7=BB=E5=8A= =A0=E5=88=B0=E5=B7=A5=E7=A8=8B=EF=BC=8C=E7=84=B6=E5=90=8E=E7=BC=96=E8=AF=91= =E5=B7=A5=E7=A8=8B
Slamware SDK=E7=9A=84include=E5=92=8Clib=E7=9B=AE=E5=BD=95=E6=97=A0=E9= =9C=80=E5=A4=8D=E5=88=B6=E5=88=B0=E5=8F=82=E8=80=83=E4=BE=8B=E7=A8=8B=E7=9B= =AE=E5=BD=95=EF=BC=8C=E5=8F=AA=E9=9C=80=E5=9C=A8Visual Studio=E9=87=8C=E6= =8C=87=E5=AE=9A=E8=B7=AF=E5=BE=84=E5=8D=B3=E5=8F=AF=E3=80=82
=E5=A6=82=E6=9E=9C=E4=B8=8D=E6=8C=87=E5=AE=9A=E6=AD=A4=E4=B8=A4=E4=B8=AA= =E8=B7=AF=E5=BE=84=EF=BC=8C=E7=BC=96=E8=AF=91=E4=B8=AD=E4=BC=9A=E6=8A=A5=E6= =89=BE=E4=B8=8D=E5=88=B0.h=E6=96=87=E4=BB=B6=EF=BC=8C=E6=88=96=E8=80=85=E6= =89=BE=E4=B8=8D=E5=88=B0=E5=BA=93=E5=87=BD=E6=95=B0=E7=AD=89=E9=94=99=E8=AF= =AF=E3=80=82
=E7=BC=96=E8=AF=91=E8=BF=87=E7=A8=8B=E4=B8=AD=E7=9A=84warning=E5=8F=AF= =E4=BB=A5=E5=BF=BD=E7=95=A5
=E8=BF=90=E8=A1=8C=E5=8F=82=E8=80=83=E7=A8=
=8B=E5=BA=8F=EF=BC=8C=E4=BC=9A=E5=BC=B9=E5=87=BA=E5=A6=82=E4=B8=8B=E5=AF=B9=
=E8=AF=9D=E6=A1=86=EF=BC=8C=E7=82=B9=E5=87=BB=E8=BF=9E=E6=8E=A5
=E5=AF=B9=E4=BA=8Ewifi=E8=BF=9E=E6=8E=A5=EF=BC=8CAP=E6=A8=A1=E5=BC=8F=E4= =B8=8B=EF=BC=8C=E5=BA=95=E7=9B=98=E9=BB=98=E8=AE=A4IP=E5=9C=B0=E5=9D=80=E4= =B8=BA192.168.11.1=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=94=B9=E4=B8=BAStation=E6= =A8=A1=E5=BC=8F=EF=BC=8C=E5=88=99=E5=BA=95=E7=9B=98=E7=9A=84IP=E5=9C=B0=E5= =9D=80=E7=94=B1=E5=BA=95=E7=9B=98=E6=89=80=E8=BF=9E=E6=8E=A5=E7=9A=84=E8=B7= =AF=E7=94=B1=E5=99=A8=E5=8A=A8=E6=80=81=E5=88=86=E9=85=8D=EF=BC=8C=E6=88=96= =E8=80=85=E7=94=B1=E7=94=A8=E6=88=B7=E6=8C=87=E5=AE=9A=EF=BC=8C=E6=AD=A4=E6= =97=B6=E9=9C=80=E4=BD=BF=E7=94=A8=E6=AD=A4IP=E5=9C=B0=E5=9D=80
=E5=AF=B9=E4=BA=8E=E6=9C=89=E7=BA=BF=E7=BD=91=E7=BB=9C=E8=BF=9E=E6=8E=A5= =EF=BC=8CIP=E5=9C=B0=E5=9D=80=E9=BB=98=E8=AE=A4=E4=B8=BA192.168.11.1=EF=BC= =8C=E4=B8=8D=E5=8F=AF=E4=BF=AE=E6=94=B9=E3=80=82
=E7=82=B9=E5=87=BB=E5=90=91=E5=89=8D=EF=BC= =8C=E5=90=91=E5=90=8E=EF=BC=8C=E5=B7=A6=E8=BD=AC=EF=BC=8C=E5=8F=B3=E8=BD=AC= =EF=BC=8C=E5=BA=95=E7=9B=98=E4=BC=9A=E7=9B=B8=E5=BA=94=E8=BF=90=E5=8A=A8=EF= =BC=8C=E7=82=B9=E5=87=BB=E5=81=9C=E6=AD=A2=E8=BF=90=E5=8A=A8=EF=BC=8C=E5=BA= =95=E7=9B=98=E7=AB=8B=E5=8D=B3=E5=81=9C=E6=AD=A2
=E6=AF=8F=E7=82=B9=E5=87=BB=E4=B8=80=E6=AC=A1=EF=BC=8C=E5=BA=95=E7=9B=98= =E5=8F=AA=E8=BF=90=E5=8A=A8=E4=B8=80=E5=B0=8F=E6=AE=B5=E6=97=B6=E9=97=B4=EF= =BC=8C=E5=A6=82=E6=9E=9C=E9=9C=80=E8=A6=81=E4=BF=9D=E6=8C=81=E8=BF=90=E5=8A= =A8=EF=BC=8C=E9=9C=80=E8=A6=81=E4=B8=8D=E5=81=9C=E7=82=B9=E5=87=BB=E3=80=82= =E4=BE=8B=E5=A6=82=EF=BC=8C=E5=A6=82=E6=9E=9C=E5=B8=8C=E6=9C=9B=E5=BA=95=E7= =9B=98=E6=8C=81=E7=BB=AD=E5=89=8D=E8=BF=9B=EF=BC=8C=E9=9C=80=E8=A6=81=E6=8C= =81=E7=BB=AD=E7=82=B9=E5=87=BB=E5=90=91=E5=89=8D=E6=8C=89=E9=92=AE=EF=BC=8C= =E4=B8=80=E6=97=A6=E5=81=9C=E6=AD=A2=E7=82=B9=E5=87=BB=EF=BC=8C=E5=BA=95=E7= =9B=98=E5=BE=88=E5=BF=AB=E5=8D=B3=E5=81=9C=E6=AD=A2=E8=BF=90=E5=8A=A8
=E9=80=9A=E8=BF=87=E6=AD=A4=E7=A7=8D=E6=96=B9=E5=BC=8F=E6=8E=A7= =E5=88=B6=E5=BA=95=E7=9B=98=E8=BF=90=E5=8A=A8=E6=97=B6=EF=BC=8C=E5=BA=95=E7= =9B=98=E5=A4=84=E4=BA=8E=E9=81=A5=E6=8E=A7=E6=8E=A7=E5=88=B6=E6=A8=A1=E5=BC= =8F=EF=BC=8C=E5=BA=95=E7=9B=98=E4=B8=8D=E4=BC=9A=E8=87=AA=E5=8A=A8=E9=81=BF= =E9=9A=9C=EF=BC=8C=E6=95=85=E9=9C=80=E7=95=99=E6=84=8F=E5=91=A8=E5=9B=B4=E7= =8E=AF=E5=A2=83=EF=BC=8C=E9=81=BF=E5=85=8D=E6=92=9E=E5=88=B0=E4=BA=BA=E6=88= =96=E7=89=A9=E3=80=82
=E7=A8=8B=E5=BA=8F=E4=B8=BB=E8=A6=81=E5=88=86=E6=88=90=E4=B8=A4=E4=B8=AA= =E5=8A=9F=E8=83=BD=E6=A8=A1=E5=9D=97
=E9=81=A5=E6=8E=A7=E6=8E=A7=E5=88=B6=E5=BA=
=95=E7=9B=98=E8=A1=8C=E8=B5=B0
=E9=81=A5=E6=8E=A7=E5=BA=95=E7=9B=98=E9=9C=80=E8=A6=81=E4=BD=BF=E7=94=A8mo=
veBy=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=8E=A5=E5=8F=A3=E4=B8=AD=E4=BC=A0=E5=85=
=A5=E5=8A=A8=E4=BD=9C=E7=B1=BB=E5=9E=8B=E6=8C=87=E4=BB=A4=EF=BC=8C=E5=85=B6=
=E4=BB=A3=E7=A0=81=E4=B8=BB=E8=A6=81=E4=BD=8D=E4=BA=8E=E6=AF=8F=E4=B8=AA=E6=
=8C=89=E9=94=AE=E7=9A=84=E7=82=B9=E5=87=BB=E5=93=8D=E5=BA=94=E5=87=BD=E6=95=
=B0=E4=B8=AD=EF=BC=8C=E4=BB=A5=E2=80=9C=E5=90=91=E5=89=8D=E2=80=9D=E6=8C=89=
=E9=94=AE=E4=B8=BA=E4=BE=8B
void CSDK_Ref_win32Dlg::OnBnClickedBtnForward() { =09// TODO: Add your control notification handler code here =09try{ =09=09rpos::core::Direction direction(rpos::core::ACTION_DIRECTION::FORWARD= ); =09=09moveAction =3D robot.moveBy(direction); =09}catch(const ConnectionFailException &e)=20 =09{ =09=09MessageBox(_T("=E8=BF=9E=E6=8E=A5=E5=BC=82=E5=B8=B8=EF=BC=8C=E7=A8=8B= =E5=BA=8F=E5=85=B3=E9=97=AD"), _T("=E9=94=99=E8=AF=AF"), MB_OK); =09=09CDialogEx::OnCancel(); } catch(const RequestTimeOutException &e)=20 =09{ =09=09MessageBox(_T("=E8=AF=B7=E6=B1=82=E8=B6=85=E6=97=B6=EF=BC=8C=E8=AF=B7= =E9=87=8D=E8=AF=95"), _T("=E9=94=99=E8=AF=AF"), MB_OK); }catch(const std::exception &e) =09{ =09=09MessageBox(_T("=E5=8F=91=E7=94=9F=E5=BC=82=E5=B8=B8=EF=BC=8C=E7=A8=8B= =E5=BA=8F=E5=85=B3=E9=97=AD"), _T("=E9=94=99=E8=AF=AF"), MB_OK); =09} }
=E8=87=AA=E4=B8=BB=E8=A7=84=E5=88=92=E8=B7=
=AF=E5=BE=84=E8=A1=8C=E8=B5=B0
=E8=87=AA=E4=B8=BB=E8=A7=84=E5=88=92=E8=B7=AF=E5=BE=84=E4=BD=BF=E7=94=A8mo=
veTo=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=8E=A5=E5=8F=A3=E4=B8=AD=E4=BC=A0=E5=85=
=A5=E7=9B=AE=E6=A0=87=E4=BD=8D=E7=BD=AE=E5=9D=90=E6=A0=87=E7=82=B9=EF=BC=8C=
=E5=85=B6=E4=BB=A3=E7=A0=81=E4=BD=8D=E4=BA=8E=E2=80=9C=E5=88=B0=E8=BF=99=E9=
=87=8C=E2=80=9D=E6=8C=89=E9=94=AE=E7=9A=84=E7=82=B9=E5=87=BB=E5=93=8D=E5=BA=
=94=E5=87=BD=E6=95=B0=E4=B8=AD
void CSDK_Ref_win32Dlg::OnBnClickedBtnMove() { =09// TODO: Add your control notification handler code here =09double _x =3D _tstof(m_dest_x); =09double _y =3D _tstof(m_dest_y); =09try{ =09=09rpos::core::Location loc(_x, _y); =09=09moveAction =3D robot.moveTo(loc, false, true); =09}catch(const ConnectionFailException &e)=20 =09{ =09=09MessageBox(_T("=E8=BF=9E=E6=8E=A5=E5=BC=82=E5=B8=B8=EF=BC=8C=E7=A8=8B= =E5=BA=8F=E5=85=B3=E9=97=AD"), _T("=E9=94=99=E8=AF=AF"), MB_OK); =09=09CDialogEx::OnCancel(); }catch(const std::exception &e) =09{ =09=09MessageBox(_T("=E5=8F=91=E7=94=9F=E5=BC=82=E5=B8=B8=EF=BC=8C=E7=A8=8B= =E5=BA=8F=E5=85=B3=E9=97=AD"), _T("=E9=94=99=E8=AF=AF"), MB_OK); CDialogEx::OnCancel(); =09} }
=E5=AE=9E=E6=97=B6=E6=9B=B4=E6=96=B0=E5=BA= =95=E7=9B=98=E7=8A=B6=E6=80=81=E5=92=8C=E5=9C=B0=E5=9B=BE
=E5=AE=9E=E6=97=B6=E6=9B=B4=E6=96=B0=E6=98= =AF=E5=9F=BA=E4=BA=8E=E4=B8=A4=E4=B8=AA=E5=AE=9A=E6=97=B6=E8=B6=85=E6=97=B6= =E4=B8=AD=E6=96=AD=E7=9A=84=E5=AE=9A=E6=97=B6=E5=99=A8=EF=BC=8C=E5=85=B6=E4= =B8=AD=EF=BC=8C=E6=9B=B4=E6=96=B0=E5=9C=B0=E5=9B=BE=E7=9A=84=E5=AE=9A=E6=97= =B6=E5=99=A8=E6=AF=8F33=E6=AF=AB=E7=A7=92=E8=B6=85=E6=97=B6=E4=B8=AD=E6=96= =AD=E4=B8=80=E6=AC=A1=EF=BC=8C=E5=BA=95=E7=9B=98=E7=8A=B6=E6=80=81=E4=BF=A1= =E6=81=AF=E7=9A=84=E5=AE=9A=E6=97=B6=E5=99=A8=E6=AF=8F100=E6=AF=AB=E7=A7=92= =E8=B6=85=E6=97=B6=E4=B8=AD=E6=96=AD=E4=B8=80=E6=AC=A1=EF=BC=8C=E8=BF=99=E4= =B8=A4=E4=B8=AA=E5=AE=9A=E6=97=B6=E5=99=A8=E9=83=BD=E5=9C=A8=E7=A8=8B=E5=BA= =8F=E5=88=9D=E5=A7=8B=E5=8C=96=E6=97=B6=E8=AE=BE=E5=AE=9A
BOOL CSDK_Ref_win32Dlg::OnInitDialog() { =09CDialogEx::OnInitDialog(); =09......=09 =09// set timer#1 with interval 100 milisecond for status update =09SetTimer(1, 100, NULL); =09// set timer@4 with interval 33 milisecond for map update =09SetTimer(4, 33, NULL); =09...... }
=E5=AE=9A=E6=97=B6=E5=99=A8=E8=B6=85=E6=97= =B6=E5=90=8E=EF=BC=8C=E4=BC=9A=E8=BF=9B=E5=85=A5OnTimer=E5=87=BD=E6=95=B0= =E4=B8=AD=E5=81=9A=E7=9B=B8=E5=BA=94=E5=A4=84=E7=90=86=EF=BC=8C=E4=BB=A5=E4= =B8=8B=E6=98=AFOnTimer=E7=9A=84=E4=BB=A3=E7=A0=81=E3=80=82=E9=80=9A=E8=BF= =87=E5=88=A4=E6=96=AD=E4=B8=8D=E5=90=8C=E5=AE=9A=E6=97=B6=E5=99=A8=E7=9A=84= =E7=BC=96=E5=8F=B7=EF=BC=8C=E6=89=A7=E8=A1=8C=E4=B8=8D=E5=90=8C=E7=9A=84=E6= =93=8D=E4=BD=9C
void CSDK_Ref_win32Dlg::OnTimer(UINT_PTR nIDEvent) { =09if(nIDEvent =3D=3D 1) =09{ =09=09// TODO: Add your message handler code here and/or call default =09=09UpdateData(TRUE); =09=09try{ =09=09=09// update current pose (position + heading angle) =09=09=09rpos::core::Pose pose =3D robot.getPose(); =09=09=09m_info_x =3D pose.x(); =09=09=09m_info_y =3D pose.y(); =09=09=09m_info_yaw =3D pose.yaw(); =09=09=09// update battery status =09=09=09m_info_battery =3D robot.getBatteryPercentage(); =09=09=09// update action status =09=09=09if(moveAction.isEmpty()) =09=09=09=09m_info_action_status =3D "Idle"; =09=09=09else =09=09=09{ =09=09=09=09switch(moveAction.getStatus()) =09=09=09=09{ =09=09=09=09case ActionStatusWaitingForStart: =09=09=09=09=09m_info_action_status =3D "Waiting For Start"; =09=09=09=09=09break; =09=09=09=09case ActionStatusRunning: =09=09=09=09=09m_info_action_status =3D "Running"; =09=09=09=09=09break; =09=09=09=09case ActionStatusFinished: =09=09=09=09=09m_info_action_status =3D "Finished"; =09=09=09=09=09break; =09=09=09=09case ActionStatusPaused: =09=09=09=09=09m_info_action_status =3D "Paused"; =09=09=09=09=09break; =09=09=09=09case ActionStatusStopped: =09=09=09=09=09m_info_action_status =3D "Stopped"; =09=09=09=09=09break; =09=09=09=09case ActionStatusError: =09=09=09=09=09m_info_action_status =3D "Error"; =09=09=09=09=09break; =09=09=09=09default: =09=09=09=09=09m_info_action_status =3D "Error"; =09=09=09=09=09break; =09=09=09=09} =09=09=09} =09=09}catch(const ConnectionFailException &e)=20 =09=09{ =09=09=09MessageBox(_T("=E8=BF=9E=E6=8E=A5=E5=BC=82=E5=B8=B8=EF=BC=8C=E7=A8= =8B=E5=BA=8F=E5=85=B3=E9=97=AD"), _T("=E9=94=99=E8=AF=AF"), MB_OK); =09=09=09CDialogEx::OnCancel(); =09=09}catch(const std::exception &e) =09=09{ =09=09=09MessageBox(_T("=E5=8F=91=E7=94=9F=E5=BC=82=E5=B8=B8=EF=BC=8C=E7=A8= =8B=E5=BA=8F=E5=85=B3=E9=97=AD"), _T("=E9=94=99=E8=AF=AF"), MB_OK); =09=09=09CDialogEx::OnCancel(); =09=09} =09=09// update the display =09=09UpdateData(FALSE); =09} =09else =09{ =09=09// update map display =09=09drawMap(); =09} =09CDialogEx::OnTimer(nIDEvent); }
=E5=9C=B0=E5=9B=BE=E7=BB=98=E5=88=B6=E6=98= =AF=E5=9C=A8drawMap=E4=B8=AD=E5=AE=8C=E6=88=90=E7=9A=84=EF=BC=8C=E5=85=B6= =E4=BD=BF=E7=94=A8getMapData=E6=8E=A5=E5=8F=A3=EF=BC=8C=E4=BB=8ESlamcode=E8= =8E=B7=E5=BE=97=E5=AE=9E=E6=97=B6=E7=9A=84=E5=9C=B0=E5=9B=BE=E6=95=B0=E6=8D= =AE=EF=BC=8C=E8=AF=A5=E6=95=B0=E6=8D=AE=E6=98=AF=E5=83=8F=E7=B4=A0=E7=82=B9= =E7=9A=84=E5=8E=9F=E5=A7=8B=E6=95=B0=E6=8D=AE=EF=BC=88raw data=EF=BC=89=EF= =BC=8C=E4=B8=8D=E5=AD=98=E5=9C=A8=E4=BB=BB=E4=BD=95=E5=9B=BE=E7=89=87=E6=A0= =BC=E5=BC=8F=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=B8=BA=E4=BA=86=E6=98=BE=E7=A4=BA= =E5=9C=A8=E7=95=8C=E9=9D=A2=E4=B8=8A=EF=BC=8C=E5=B0=86=E5=85=B6=E5=B0=81=E8= =A3=85=E6=88=90Bitmap=E5=9B=BE=E5=83=8F=EF=BC=8C=E4=B9=8B=E5=90=8E=E6=98=BE= =E7=A4=BA=E5=9C=A8=E5=9B=BE=E5=BD=A2=E7=95=8C=E9=9D=A2=E4=B8=8A=E3=80=82
void CSDK_Ref_win32Dlg::drawMap(void) { =09BITMAPINFO _mapDesc ; =09DWORD* pData ; =09HBITMAP hBitmap ; =09try{ =09=09// get map from slamware =09=09rpos::core::RectangleF knownArea =3D robot.getLocationProvider().getK= nownArea(MapTypeBitmap8Bit, location_provider::EXPLORERMAP); =09=09location_provider::Map map =3D robot.getMap(MapTypeBitmap8Bit, knownA= rea, rpos::features::location_provider::EXPLORERMAP); =09=09int mapWidth =3D map.getMapDimension().x(); =09=09int mapHeight =3D map.getMapDimension().y(); =09=09// initialize the bitmap header structure =09=09memset(&_mapDesc, 0, sizeof(_mapDesc));=09=09=09=09=09=09=09// cl= ear BITMAPHEADER =09=09_mapDesc.bmiHeader.biSize =3D sizeof(_mapDesc);=09=09=09=09=09// size= of BITMAPHEADER =09=09_mapDesc.bmiHeader.biWidth =3D mapWidth;=09=09=09=09=09=09=09// width= by pixels =09=09_mapDesc.bmiHeader.biHeight =3D mapHeight;=09=09=09=09=09=09// height= by pixels =09=09_mapDesc.bmiHeader.biPlanes =3D 1;=09=09=09=09=09=09=09=09// 1 plane =09=09_mapDesc.bmiHeader.biBitCount =3D 32;=09=09=09=09=09=09=09=09// 24bit= Color =09=09_mapDesc.bmiHeader.biCompression =3D BI_RGB;=09=09=09=09=09=09// no c= ompression =09=09_mapDesc.bmiHeader.biSizeImage =3D mapHeight * mapWidth;=09=09=09// s= ize by pixels =09=09// create DIB image to fill the map data =09=09hBitmap =3D CreateDIBSection (::GetDC(NULL), (BITMAPINFO *) &_map= Desc, DIB_RGB_COLORS, (void**)&pData, NULL, 0); =09=09// fill the map data =09=09for (int posY =3D 0; posY < mapHeight; ++posY) =09=09{ =09=09=09for (int posX =3D 0; posX < mapWidth; ++posX) =09=09=09{ =20 =09=09=09=09// get map pixel =09=09=09=09rpos::system::types::_u8 mapValue_8bit =3D map.getMapData()[pos= X + posY * mapWidth] + 127; =09=09=09=09// fill the bitmap data =09=09=09=09pData[posX + posY*mapWidth] =3D RGB(mapValue_8bit,mapValue_8bit= ,mapValue_8bit); =09=09=09} =09=09} =09=09// update bitmap map file to picture control component =09=09m_pic_map.SetBitmap(hBitmap); =09}catch(const ConnectionFailException &e)=20 =09{ =09=09MessageBox(_T("=E8=BF=9E=E6=8E=A5=E5=BC=82=E5=B8=B8=EF=BC=8C=E7=A8=8B= =E5=BA=8F=E5=85=B3=E9=97=AD"), _T("=E9=94=99=E8=AF=AF"), MB_OK); =09=09CDialogEx::OnCancel(); }catch(const std::exception &e) =09{ =09=09MessageBox(_T("=E5=8F=91=E7=94=9F=E5=BC=82=E5=B8=B8=EF=BC=8C=E7=A8=8B= =E5=BA=8F=E5=85=B3=E9=97=AD"), _T("=E9=94=99=E8=AF=AF"), MB_OK); CDialogEx::OnCancel(); =09} }
=E4=B8=8A=E9=9D=A2=E7=9A=84=E4=BB=A3=E7=A0=81=E4=BB=85=E7=94=A8=E4=BA=8E= =E6=BC=94=E7=A4=BA=E5=A6=82=E4=BD=95=E6=93=8D=E4=BD=9C=E5=9C=B0=E5=9B=BE=E6= =95=B0=E6=8D=AE=E5=B9=B6=E5=B0=86=E5=85=B6=E6=98=BE=E7=A4=BA=E3=80=82
=E4=B8=8A=E8=BF=B0=E4=BB=A3=E7=A0=81=E5=8F=AF=E8=83=BD=E5=AD=98=E5=9C=A8= =E6=80=A7=E8=83=BD=E8=BE=83=E4=BD=8E=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E5= =8C=85=E6=8B=AC=E4=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E6=AF=8F=E6=AC=A1=E5=9D= =87=E9=87=8D=E7=94=BB=E6=89=80=E6=9C=89=E5=83=8F=E7=B4=A0=E6=95=B0=E6=8D=AE= =EF=BC=8C=E5=A6=82=E6=9E=9C=E5=9C=B0=E5=9B=BE=E9=9D=A2=E7=A7=AF=E5=BE=88=E5= =A4=A7=EF=BC=8C=E4=BC=9A=E5=AF=BC=E8=87=B4=E5=88=B7=E6=96=B0=E9=80=9F=E5=BA= =A6=E8=BE=83=E6=85=A2=EF=BC=9B=E6=AF=8F33=E6=AF=AB=E7=A7=92=E9=87=8D=E7=94= =BB=E4=B8=80=E6=AC=A1=E5=9C=B0=E5=9B=BE=EF=BC=8C=E5=A6=82=E6=9E=9CdrawMap= =E8=87=AA=E8=BA=AB=E6=89=80=E9=9C=80=E6=97=B6=E9=97=B4=E5=A4=A7=E4=BA=8E33m= s=EF=BC=8C=E4=BC=9A=E9=80=A0=E6=88=90=E4=B8=A5=E9=87=8D=E7=9A=84=E6=98=BE= =E7=A4=BA=E9=97=AE=E9=A2=98=EF=BC=8C=E7=AD=89=E7=AD=89=E3=80=82
=E5=BB=BA=E8=AE=AE=E5=9C=A8=E5=AE=9E=E9=99=85=E7=BC=96=E5=86=99=E5=BA=94= =E7=94=A8=E7=A8=8B=E5=BA=8F=E6=97=B6=EF=BC=8C=E9=9C=80=E8=AE=A4=E7=9C=9F=E8= =80=83=E8=99=91=E5=9C=B0=E5=9B=BE=E7=BB=98=E5=88=B6=E7=9A=84=E6=97=B6=E6=95= =88=E6=80=A7=E4=BB=A5=E5=8F=8A=E7=A8=B3=E5=AE=9A=E6=80=A7=E3=80=82