
#include "기계닉스_이름정의.h"

//[AVR 설정 관련]
//{
    struct 설정비트정보 //<총 18 바이트>
    {
      //[2011.09.26.화][추가!!!]{-----------
      //GUI 상 설정정보의 [비트한개] 정보를 관리.
      //}----------------------------------

      char  이름[16]; //'\0' 까지 포함된 [비트이름] 정보(실제 사용시는 12 바이트가 최대길이).

      bool  사용유무; //[확인상자] 를 확인 유/무를 결정.

      bool  고정유무; //[확인상자] 를 유/무효 할지 결정(값을 바꾸지 못하게 하기 위한것).

    };

    #define d_AVR설정정보_크기    ((4*3 + 4*2 + 3 + (18*8)*4) + 1) //총 600바이트.
    struct AVR설정정보
    {
      //[2011.09.26.화][추가!!!]{---
      //AVR 한개의 해당 설정정보를 관리.
      //}--------------------------

      unsigned int   flash페이지크기;      //바이트 단위.
      unsigned int   flash크기;          //바이트 단위.
      unsigned int   flash페이지기록시간;   //ms 단위.

      unsigned int   eep크기;            //바이트 단위.
      unsigned int   eep기록시간;         //ms 단위.

      unsigned char  고유번호[3];         //AVR 고유번호.

      //각각 8비트를 관리.
      struct 설정비트정보  보안설정[8];
      struct 설정비트정보  확장설정[8];
      struct 설정비트정보  상위설정[8];
      struct 설정비트정보  하위설정[8];

      //구조체 크기를 600바이트로 맞추기 위한 1 바이트 추가공간.
      unsigned char  공간;

    };

//}

//[2011.10.19.수][완료!!!]
void 명세문서_AvrSpec_읽기(struct AVR설정정보  *rAVR설정정보,
                        char              *p경로이름확장자);

//[2011.10.19.수][완료!!!]
void 명세문서_AvrSpec_쓰기(struct AVR설정정보  *pAVR설정정보,
                        char              *p경로이름확장자);

//[2011.10.19.수][완료!!!]
void 명세문서_AvrSpecBin_읽기(struct AVR설정정보  *rAVR설정정보,
                           char              *p경로이름확장자);

//[2011.10.19.수][완료!!!]
void 명세문서_AvrSpecBin_쓰기(struct AVR설정정보  *pAVR설정정보,
                           char              *p경로이름확장자);

//[2011.10.19.수][완료!!!]
void 명세문서_AvrSpecToAvrSpecBin(char  *pAvrSpec_경로이름확장자);

//[2011.10.19.수][완료!!!]
void 명세문서_AvrSpecBinToAvrSpec(char  *pAvrSpecBin_경로이름확장자);

//[2011.10.19.수][완료!!!]
int 명세문서_AvrSpecToAvrSpecBin_전체(char  *p경로);

//[2011.10.20.목][완료!!!]
int 명세문서_AvrSpecBinToAvrSpec_전체(char  *p경로);


//[2011.11.02.수][완료!!!]
unsigned char 명세문서_보안설정을_값으로_변환(struct AVR설정정보  *pAVR설정정보);

//[2011.11.02.수][완료!!!]
void 명세문서_값을_보안설정으로_변환(struct AVR설정정보  *pAVR설정정보,
                              unsigned char      p설정값);

//[2011.11.02.수][완료!!!]
unsigned char 명세문서_확장설정을_값으로_변환(struct AVR설정정보  *pAVR설정정보);

//[2011.11.02.수][완료!!!]
void 명세문서_값을_확장설정으로_변환(struct AVR설정정보  *pAVR설정정보,
                              unsigned char      p설정값);

//[2011.11.02.수][완료!!!]
unsigned char 명세문서_상위설정을_값으로_변환(struct AVR설정정보  *pAVR설정정보);

//[2011.11.02.수][완료!!!]
void 명세문서_값을_상위설정으로_변환(struct AVR설정정보  *pAVR설정정보,
                              unsigned char      p설정값);

//[2011.11.02.수][완료!!!]
unsigned char 명세문서_하위설정을_값으로_변환(struct AVR설정정보  *pAVR설정정보);

//[2011.11.02.수][완료!!!]
void 명세문서_값을_하위설정으로_변환(struct AVR설정정보  *pAVR설정정보,
                              unsigned char      p설정값);









