QMatrix Acquisition method library naming conventions

The libraries are named according the naming convention listed below

Tool Chain

Naming convention

GCC Tool Chain

lib<D>_<NC>qm_<NX>x_<NY>y_<CFG>_<NRS>rs.a

IAR –EWAR

lib<D>_<NC>qm_<NX>x_<NY>y_<CFG>_<NRS>rs.r90

Field name

Possible values

Comments

D

Common for IAR & GCC:

ATtiny167,

ATmega128rfa1,

ATmega8535

Specific to IAR:

v1g1s0 (ATtiny44,

               ATtiny84)

v1g1s1 (ATtiny48,

              ATtiny88)

v1g1s2(ATtiny461,

               ATtiny861)

ATmega16a

v1g2s1 (ATmega48PA,

              ATmega88PA)

v3xmsf (ATxmega16A4,

              ATxmega16D4,

              ATxmega32A4,

              ATxmega32D4)

v3xm (ATxmega64A3)

v4xm(ATxmega64A1)

v5xm(ATxmega128A3,

          ATxmega192A3,

          ATxmega256A3,

          ATxmega256A3B)

v6xm(ATxmega128A1)

 v3g3 (ATmega165P,

            ATmega325P,

            ATmega645,

            ATmega164p,

            ATmega324p,

            ATmega324pa,

            ATmega644p,

            ATmega168p,

            ATmega328p,

            AT90CAN32,

             AT90CAN64

)

v3g5 ( AT90CAN128,

           AT90USB1286,

           AT90USB1287,

           ATmega1280,

           ATmega1281

           )

v3g6  ( AT90USB162

           )

v3g7  ( AT90USB646,

            AT90USB647

          )

Specific to GCC:

avr25g1s0 (ATtiny44,

                ATtiny84)

avr25g1s1 (ATtiny48,

              ATtiny88)

avr25g1s2(ATtiny461,

               ATtiny861)

ATmega16

avr4g1s1 (ATmega48P,

              ATmega88P)

avr5g4  ( AT90USB646,

                AT90USB647

             )

avr5g6  ( AT90USB162

             )

avrxmega2 (ATxmega16A4,

              ATxmega16D4,

              ATxmega32D4)

avrxmega3 (ATxmega32A4)

avrxmega4 (ATxmega64A3)

avrxmega5(ATxmega64A1)

avrxmega6(ATxmega128A3,

                   ATxmega192A3,

                  ATxmega256A3,

                  ATxmega256A3B)

avrxmega7(ATxmega128A1)

avr5g3 (ATmega165P,

                 ATmega325P,

                 ATmega645,

                 ATmega164p,

                 ATmega324p,

                 ATmega324p,

                 ATmega644p,

                 ATmega168p,

                 ATmega328p,

                 AT90CAN32,

                 AT90CAN64

)

avr51g2 ( AT90CAN128,

                AT90USB1286,

                AT90USB1287,

                ATmega1280,

                ATmega1281

             )

AT32UC3C0512

Indicates the device / core group name in short form.

For XMEGA Devices, Core groups are taken which follows

As below for both GCC and IAR

 Supported XMEGA Devices

ATxmega16A4,

ATxmega16D4,

ATxmega32A4,

ATxmega32D4,

ATxmega64A1

ATxmega128A1

ATxmega64A3

ATxmega128A3,

ATxmega192A3,

ATxmega256A3,

ATxmega256A3B)

NC

4,8,16,24,32,56,64

Indicates the maximum number of channels that the library supports

56 (8 x 7) support only for ATXmega Devices.

24((8 x 3) support only for 32 Bit Devices.

NX

4,8

Indicates the number of X-Lines that the library needs for supporting the listed number of channels.

The X lines on a PORT always start with Least Significant Bit of the PORT.

     Ex: #define PORT_X_1  B in case of a 4x2 QMatrix      library means

    X0,X1,X2,X3 are on PB0,PB1,PB2,PB3

NY

1,2,3,4,7,8

Indicates the number of Y-Lines that the library needs for supporting the listed number of channels

NY=7 support only for ATXmega Devices

NY=3 support only for 32Bit Devices

CFG

k

krs

k – library variant supports only keys

krs – library variant supports keys, Rotors and Sliders

NRS

0,1,2,3,4,8

Maximum number of rotor sliders that the library supports.

NRS=3 support only for 32Bit Devices

The table below provides a few examples of the naming convention.

Example Library name

Configuration supported

libavr51g2_8qm_4x_2y_krs_2rs.a

  1. 1.

    Compiler tool chain : GCC

  2. 2.

    Device : ATMega164P

  3. 3.

    8 Channels

  4. 4.

    4 X lines

  5. 5.

    2 Y lines

  6. 6.

    Supports Keys, Rotors and Sliders ( krs )

  7. 7.

    2 Rotors and Sliders

libavr25g1s1_16qm_8x_2y_k_0rs.r90

  1. 1.

    Compiler tool chain : IAR

  2. 2.

    Device : ATTiny88

  3. 3.

    16 Channels

  4. 4.

    8 X lines

  5. 5.

    2 Y lines

  6. 6.

    Supports only keys ( k)

  7. 7.

    0 Rotors and Sliders