    3 
1- :
  
      (      )
   ( )
       ,    -,
     ,  
    check box    -  CheckBox-   #bytes (2- )
2- :
  CheckBox-     #bytes
3- :
     #edits





  -  .fdf

 #bytes
    #bytes
      

#bytes ' ' _
  #byte ' ' (__0,__1,...) (__0,__1,...)

__0,__1 -    
__0,__1 -   - '0'  '1'
!       bytes     
  (0,1,2,3,4,5,6,7)


#edits
  #edit ' ':boolean (_) (true=0,false=1)
  #edit _ '_':list (__0,__1,...)
        ('__0' = _:_._,
         '__1' = _:_._,
         ...
         )
  #edit _ ' ':list (__0,__1,...)
        __0:
          ('  0' = _,
           '  1' = _,
           ...
          )
        __1:
          ('  0' = _,
           '  1' = _,
           ...
          )

#edit -     #edit
_ -         
_ -   
list  boolean -  
(__0,__1,...) -  ,    
                - 
__0,__1 - ,   - 
_ -  ,    0,1,X: 
                   :list
         X ,          
          #edit 'xx':list (A,B,C) ( 'AAA'=10X,'BBB'=010 )
           'AAA'  A=1,B=0, C  
           'BBB'  A=0,B=1, C=0
_ - _,   
_ -  ,   
:_._  
  boolean    CheckBox
  list     
!      
          



 - 2  ,   boolean,    list,
            list,    list

bytes 'lock bytes' _lb
  #byte 'lock byte' (LB1,LB2) (1,1)

bytes 'fuse bytes' _fb
  #byte 'fuse hight byte' (BODLEVEL0,BODLEVEL1,BODLEVEL2,EESAVE,WDTON,SPIEN,DWEN,RSTDISBL) (1,1,1,1,1,0,1,1)
  #byte 'fuse low byte' (CKSEL0,CKSEL1,CKSEL2,CKSEL3,SUT0,SUT1,CKOUT,CKDIV8) (0,1,0,0,0,1,1,0)

#edits
  #edit 'Enable Serial Program':boolean (SPIEN) (true=0,false=1)
  #edit 'Brown-out Detector trigger level':list
        (BODLEVEL2,BODLEVEL1,BODLEVEL0)
        ( 'BOD Disabled' = 111,
           '1.8V' = 110,
           '2.7V' = 101,
           '4.3V' = 100 )
  #edit 'Select Clock source':list 
        ( CKSEL3,CKSEL2,CKSEL1,CKSEL0 )  
        (
        'Low Power Crystal Oscillator 0.4-0.9MHz' = 100X:SUT.LPFSCO,
        'Low Power Crystal Oscillator 0.9-3.0MHz' = 101X:SUT.LPFSCO,
        'Low Power Crystal Oscillator 3.0-8.0MHz' = 110X:SUT.LPFSCO,
        'Low Power Crystal Oscillator 8.0-16.0MHz'= 111X:SUT.LPFSCO,
        'Full Swing Crystal Oscillator 0.4-20MHz'  = 011X:SUT.LPFSCO,
        'Low Frequency Crystal Oscillator'            = 010X:SUT.LFCO,
        'Internal 128 kHz RC Oscillator'                = 0011:SUT.RCO,
        'Calibrated Internal RC Oscillator 8MHz'    = 0010:SUT.RCO,
        'External Clock'                                       = 0000:SUT.RCO
        )
  #edit SUT 'Start-up Times':list (CKSEL0,SUT1,SUT0)
        LPFSCO:(
          'Ceramic resonator, fast rising power    258 CK 14CK+4.1ms' = 000,
          'Ceramic resonator, slowly rising power  258 CK 14CK+65ms'  = 001,
          'Ceramic resonator, BOD enabled          1K CK 14CK'        = 010,
          'Ceramic resonator, fast rising power    1K CK 14CK+4.1ms'  = 011,
          'Ceramic resonator, slowly rising power  1K CK 14CK+65ms'   = 100,
          'Crystal Oscillator, BOD enabled         16K CK 14CK'       = 101,
          'Crystal Oscillator, fast rising power   16K CK 14CK+4.1ms' = 110,
          'Crystal Oscillator, slowly rising power 16K CK 14CK+65ms'  = 111
        )
        LFCO:(
          'BOD enabled         1K CK 14CK'       = 000,
          'Fast rising power   1K CK 14CK+4.1ms' = 001,
          'Slowly rising power 1K CK 14CK+65 ms' = 010,
          'BOD enabled         32K CK 14CK'      = 100,
          'Fast rising power   32K CK 14CK+4.1ms'= 101,
          'Slowly rising power 32K CK 14CK+65ms' = 110
        )
        RCO:(
          'BOD enabled         6 CK 14CK        = X00,
          'Fast rising power   6 CK 14CK+4.1 ms = X01,
          'Slowly rising power 6 CK 14CK+65 ms  = X10,
          'BOD enabled         6 CK 14CK        = X00,
          'Fast rising power   6 CK 14CK+4 ms   = X01,
          'Slowly rising power 6 CK 14CK+64 ms  = X10
        )






 

 
'list' - ComboBox
'boolean' - CheckBox

<identifier> -  -   ,   
{<item>,...} -  - <item>  
{<item>' '...} -  - <item>  
{<item>...} -  - <item>  
<string> -    - 'str str'
'#byte' -  , 

<fuse_def_file> :- {<bytes_section>} <edits_section>
<bytes_section> :- '#bytes ' <section_name> ' ' <file_name> ' ' {<byte_def>' '...}
<edits_section> :- '#edits ' <section_name> ' ' {<editor_def>,...}
<byte_def> :- '#byte ' <byte_name> '(' {<bit_name>,...} ')' '(' {<default_bit>,...} ')'
<bit_name> :- <identifier>
<default_bits> :- '0'|'1'
<editor_def> :- '#edit ' <editor_name>:<editor_type> ' ('{<bit_name>,...}') '
                {<values_lists>' '...}
<values_lists> :- [<section_name>':']'('{<value>,...}')'
<editor_type> :- 'list'|'boolean'|'bits'
<value> :- <value_name> '=' <value_def>
<value_def> :- {<value_bit>...} | 'true=0,false=1' | 'true=1,false=0'
<value_bit> :- 0|1|X
<byte_name> :- <string>
<editor_name> :- <string>
<section_name> :- <string>
<value_name> :- <string>
