MEMBER

캔위성 체험·경연대회 회원관리 입니다.

MEMBER
  • ▶ MEMBER
  • Home

[답변] 지상국 데이터 수신 관련 질문 (일부 소스 교육자료에 Upload)

페이지 정보

  • 작성자 : 관리자
  • 작성일 : 19-07-19 09:28
  • 댓글 : 0건   조회 : 175회

첨부파일

본문

지상국 쪽 수신 부분 코드를 올려 놓을께요..

필요한 부분은 메모리를 잡고 그곳을 이용하면 될 겁니다.

이때 메모리 용량을 넘어가지 않도록 점검도 하고요.


초기에 한 통신포트에서 데이터가 들어오면 OnCommPortData 함수를 부르고 있으니 참고하세요.

예로서 Gps 관련 처리, Cameara 처리 관련 함수 부분도 올려 놓을께요.


#define MAX_CAMERA_IMAGE_PAGE     4
#define MASK_CAMERA_IMAGE_PAGE 0x03


class csdcCAMERA
{
public:
 BOOL ImageDataUpdate;
 BOOL ImageDataHave  ;
 BYTE ImageSize[MAX_CAMERA_IMAGE_PAGE];
 BYTE ImageData[MAX_CAMERA_IMAGE_PAGE][0x100000];
 BYTE ImageDataPage  ;
 BOOL ImageDataIsLeft;
 unsigned short ImageDataIndex ;
 unsigned short ImageSizeValue ;
public:
 csdcCAMERA() { Init(); }
 void Init () { memset(this,0,sizeof(csdcCAMERA));}

 BYTE *GetWorkImageData()     { return ImageData[ImageDataPage]; }
 BYTE *GetViewImageData()     { return ImageData[(ImageDataPage+MAX_CAMERA_IMAGE_PAGE-1)& MASK_CAMERA_IMAGE_PAGE];   }
 BYTE *GetViewSteroImageData(BOOL isLeft)     { return ImageData[(ImageDataPage+MAX_CAMERA_IMAGE_PAGE-1-((isLeft==ImageDataIsLeft)? 0:1))& MASK_CAMERA_IMAGE_PAGE];   }
 void InsertImageByte(BYTE b) { if( ImageDataIndex < 0x100000 ) ImageData[ImageDataPage][ImageDataIndex++] = b;      }
 void NextImageDataPage()     { ImageDataHave = TRUE ; ImageDataPage = ((ImageDataPage+1) & MASK_CAMERA_IMAGE_PAGE) ;  ImageDataIndex = 0 ; ImageDataIsLeft = ( ImageDataIsLeft == FALSE ) ; }
 BOOL HaveImageData()         { return ImageDataHave; }


};
 


> > > 혹시 제작하신 지상국 프로그램에서 데이터를 받아서 어떻게 처리하는지 알 수 있을까요? 일단 하나의 데이터 패킷(사진, IMU, GPS등)을 먼저 한번에 다 받고 이후 처리하는 건가요? 만약 그렇다면 하나의 데이터 패킷을 끝마치는 문자가 있는건가요? 데이터를 일부 단위마다 잘라서 하다보니까, 데이터가 중간에 너무 많이쌓여서 날라가는 것 같아서 질문 드립니다. > >  

댓글목록

등록된 댓글이 없습니다.

대회소개 경연대회 체험캠프 자료실 커뮤니티 지난대회소개

전체메뉴닫기