talk2013. 11. 29. 02:10

가끔 프로그램을 짜다 보면 16진수 문자열을 2진수 문자열로 바꾸는 문제가 발생한다.
예를 들어  int a = 'F'; 를 '1111' 로 보기를 원하는 것이다.

표준함수들을 이용하면 간단하게 처리 할 수 있지만 가끔 표준함수를 쓸 수 없을 때 아래를 참고하면 유용하게 사용 할 수 있다.

static unsigned long pow(int a, int b)
{
int result = 1;
for (int i= 0; i < b ; i++)
result *= a;

return result;
}

static unsigned long hex2Num(char* str, int num)
{

unsigned long result = 0;
int tmp = 0;
for (int idx =0; idx < num; idx++)
{
tmp = 0;
if (str[idx] >= '0' && str[idx] <='9')
tmp = str[idx] - '0';
else if (str[idx] >='A' && str[idx] <= 'F')
tmp = str[idx] -'A' + 10;

result += tmp*pow(16, num-idx-1); //자리수 계산
}
return result;
}

void main(void)

{

char a[4] = "ABCD";

unsigned long result = hex2Num(a, 4);

char re[4*4+1] = {'0',};

for ( int i = 15; i >= 0 ; i--)

re[15-i] = ((result & (0x1 << i))? '1': '0');

printf("%s\n", re);

return;
}




Posted by 평면우주
bicycle2013. 9. 5. 10:17

가민 엣지 800/810에는 엣지 500과 다르게 GPS Mode를 선택하는 페이지가 있다. 

On, Off, Demo Mode는 알겠는데 WAAS/EGNOS는 뭐냐? 라는 질문이 이 포스팅을 시작하게 된 계기다.

결론부터 이야기하면, 한국에서 가민 엣지 800/810을 사용할 때 WAAS/EGNOS을 켜면 GPS의 정확도를 높혀준다. 단 베터리 소모는 많아진다.

<그림 gps mode 선택 화면>

우선 WAAS/EGNOS 무엇인지 찾아 보았다. 

간단하게 설명하면 GPS 신호는 여러가지 요인 때문에 오차가 발생하고, 이를 보정시켜 오차를 최소한으로 줄이는 시스템이다. 

DGPS라고 부르며  (goo.gl/4Pw2Tr  <-이 URL에 잘 설명이 되어있다.) WAAS는 북미지역, EGNOS는 유럽, MSAS는 일본의 DGPS 시스템 이름이다.

위 3개의 DGPS는 보정을 위해 지상국은 물론 정지위성을 따로 띄워서 보정에 필요한 전파를 쏴준다.

우리나라는 MSAS의 커버리지 안에 들어 가기 때문에 DGPS를 사용할 수 있지만 가민에서 지원을 안해주니 무용지물이다!!!!!라고 생각했는데.... 대부분의 비싼 GPS 칩셋들은 WAAS/EGNOS/MSAS를 지원한다는 걸 검색을 하다가 알게 되었다.

DGPS 기능이 없는 chipset은 있었어도, MSAS만 쏙 빼버린 제품이 있던가?? GPS칩에서 WAAS/EGNOS가 되면 MSAS도 되야 하는거 아냐?

그래서 가민 edge 관련 GPS chipset 스펙을 찾아 구글을 한 참 뒤졌지만 없었다. 혹시 알고 계신 분은 알려주길 바랍니다. 


반쯤 포기하고 2.5으로 버젼업을 했을 때 EGNOS가 안 잡힌다는 가민 포럼을 읽다가 MSAS의 NMEA Code가 42번과 50번인걸 알게 된다. (https://forums.garmin.com/showthread.php?37088-Garmin-FEnix-Egnos-WAAS-with-Firmware-2-50/page2)

위키 페이지에서 MSAS에 대한 자세한 데이터를 찾을 수 있었다. (http://en.wikipedia.org/wiki/Multi-functional_Satellite_Augmentation_System)


그럼 WAAS/EGNOS 키면 MSAS 위성데이터도 수신하지 않을까? 라는 생각이 들어서 실험을 해봤다.


    

<그림 gps 수신 화면>

위 화면에서 번호가 NMEA 프로토콜에서 위성 번호이다. (위성 고유 코드는 PRN 이다.) 첫번째 이미지는 Normal mode일 때 위성 정보이다. 두번째, 세번째 이미지는 WAAS/EGNOS를 켰을 때인데, 42번과 50번 위성이 잡힌다. DGPS 위성 정보를 받고 있다는 것이다.

하지만 단순히 위성 정보만 수신하는 건지? 아니면 정말 보정이 되는지 모르겠다. 제일 정확한 방법은 엣지 내부에 NMEA를 직접 받아보면 확실 하게 알 수 있지만 이건 불가능 하고...


그래서 간단한 실험 즉 WAAS/EGNOS을 켰을 때 보정이 되는지 로그를 비교해보기로 했다.

코스는 집에서 회사 출근하는 5km, 이 코스를 선택한 이유는 전자회사라서 그런지 회사에 들어오기만 하면 GPS가 엄청 튄다.



<WAAS/EGNOS를 켰을 때>


<WAAS/EGNOS를 껐을 때.>


2일 Normal Mode, 3일 WAAS/EGNOS 총 5일에 걸쳐서 테스트 해봤는데 위 사진 처럼 WAAS/EGNOS 일 때 튀는 정도가 훨씬 줄어들지만, 맘에는 안든다. 가민 510의 글로나스 + GPS 모드를 쓰면 거의 오차가 없는 로그를 볼 수 있다.


결론

 정확한 로깅을 얻고 싶으면. 가민 510을 지르면 되고

시간이 많은 사람들은 810 후속을 기다리면 됩니다.


이번에 알게 된거.

  • 가민 500, 800, 810은 같은 GPS chipset을 사용한다.
  • 가민 500도 waas/egnos를 수신 할 수 있는데도 메뉴에서 걍 빼버렸다, 항상 disable 상태.
  • 가민 510은 러시아의 GPS 글로나스를 사용할 수 있다. 단 배터리 소모가 많아진다. 왜? 810은 글로나스를 빼버렸을까????
  • 가민 시리즈의 hardware 스펙은 베일에 가려져 있다.
  • DGPS보정이 동작하는지는 NMEA를 까보면 쉽게 알 수 있다. 아래가 NMEA인데  (http://www.gpsinformation.org/dale/nmea.htm)
    $GPGGA,120558.916,5058.7457,N,00647.0514,E,2,06,1.7,109.0,M,47.6,M,1.5,0000*71
    위에서 2가 DGPS로 보정이 되었다는 의미이다.
  • 810은 글로나스가 빠져서 아쉽다.




Posted by 평면우주
bicycle2013. 7. 15. 11:30

로드 바이크 부품이 필요해서 국내 사이트에서 검색하니, 149,000원 뭐 이리 비싸??

그리하여 해외 사이트에 검색하니, 독일 bike24.de에서는 58,000원 이다.

+ 추가로 소모품 6.5만 정도 구매

배송비 포함하니 총 비용이 15만원. 15만원 넘으면 관세 + 부가세를 내야 할 수 있으니 주의 바람

7월 1일 주문 : 비자, 마스터 카드만 있으면 주문 가능, 뭐 결재도 어렵지 않다, 카드 번호, 유효기간 카드 뒤의 3자리 숫자만 넣으면 ok

                    주문이 완료 되면 결재가 잘 되었고, 어떤걸 주문했는지, 어느 주소로 배송 될건지에 대한 메일이 온다. 

                    한국으로 배송비는 19유로, 거의 3만원에 가까운돈이다.

7월 4일 : Bike24에서는 얼마나 빨리 배송이 시작 될건이지에 대한 아이콘이 있는데, 이에 따르면 1~2일 걸린다고,
            하지만 목요일이 지나도 배송시작이 안되서 문의 메일을 보냈다. "왜 배송 안되는 거야?"

7월 4일 : 오늘 (목요일) 배송 시작될 거라고.


7월 5일 : 결국 하루 지난 금요일날 배송이 시작됨. 배송이 시작되면 배송 정보가 담긴 메일이 온다.

             독일 DHL 홈페이지에서 확인 할 수 있다.

7월 6일 : 독일 공항 수화물 센터에 도착. 하지만 더 이상 진전이 없다.
             토요일 오후에 배송 로그가 업데이트 되었는데, 한국에 도착하면 우체국으로 이관 될거라고?
             DHL 특송이 아니라? 급한 마음에 전화를 해본다. (다행이 토요일에도 커스텀 센터를 운영한다.)

             "해외 배송이 DHL 이 아니였어?"

             "독일내에서만 DHL이고, 해외는 국제 소포로 변경된다"

             "알았어."

             사실 따지고 싶었지만 영어 실력도 안되고, 원래 그렇다는 뭐 어떻하나... 기다려야지.

( 배송 암흑기 배송 정보가 전혀 업데이트 안됨... )


7월 11일 인천 국제 공항에 도착. 

7월 12일 배송 완료.


한국에서 샀으면 29만원 정도 하는 부품 + 소모품을 15만원에 구매 할 수 있었다.



 


           

Posted by 평면우주