all
460
inc/ADC.c
Normal file
@@ -0,0 +1,460 @@
|
||||
/* ADC.c
|
||||
* Jonathan Valvano
|
||||
* December 9, 2025
|
||||
* Derived from adc12_single_conversion_vref_internal_LP_MSPM0G3507_nortos_ticlang
|
||||
* adc12_single_conversion_LP_MSPM0G3507_nortos_ticlang
|
||||
* PB24_ADC0.5 thermistor input, V_temperature
|
||||
* connect J27.1 to J27.2
|
||||
*/
|
||||
|
||||
// ****note to students****
|
||||
// the data sheet says the ADC does not work when clock is 80 MHz
|
||||
// however, the ADC seems to work on my boards at 80 MHz
|
||||
// I suggest you try 80MHz, but if it doesn't work, switch to 40MHz
|
||||
|
||||
#include <ti/devices/msp/msp.h>
|
||||
#include <stdint.h>
|
||||
#include "../inc/ADC.h"
|
||||
#include "../inc/Clock.h"
|
||||
// PA27 ADC0 channel 0 J1.8 also MKII light interrupt
|
||||
// PA26 ADC0 channel 1 J1.5 Joystick select button
|
||||
// PA25 ADC0 channel 2 J1.2 MKII Joystick X
|
||||
// PA24 ADC0 channel 3 J3.27 ***free***
|
||||
// PB25 ADC0 channel 4 J19.7 (insert 0ohm R74, no U3 OPA2365)
|
||||
// PB24 ADC0 channel 5 J1.6 MKII microphone in
|
||||
// PB24 ADC0 channel 5 J1.6 TMP6131 PTC Thermistor 10k pullup J9 1-2, T (0.01C) = 2500+((n-2048)*2500)/337
|
||||
// PB20 ADC0 channel 6 J4.36 ***free***
|
||||
// PA22 ADC0 channel 7 J24 MKII Accelerometer Y
|
||||
//
|
||||
// PA15 ADC1 channel 0 J3.30 (also DACout)
|
||||
// PA16 ADC1 channel 1 J3.29 ***free***
|
||||
// PA17 ADC1 channel 2 J3.28 ***free***
|
||||
// PA18 ADC1 channel 3 J3.26 MKII Joystick Y
|
||||
// PB17 ADC1 channel 4 J2.18 ***free***
|
||||
// PB18 ADC1 channel 5 J3.25 MKII Accelerometer Z
|
||||
// PB19 ADC1 channel 6 J3.23 MKII Accelerometer X
|
||||
// PA21 ADC1 channel 7 J17.8 (insert R20, remove R3)
|
||||
// Assumes 40 MHz bus
|
||||
void ADC0_Init(uint32_t channel, uint32_t reference){
|
||||
// Reset ADC and VREF
|
||||
// RSTCLR
|
||||
// bits 31-24 unlock key 0xB1
|
||||
// bit 1 is Clear reset sticky bit
|
||||
// bit 0 is reset ADC
|
||||
ADC0->ULLMEM.GPRCM.RSTCTL = 0xB1000003;
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->GPRCM.RSTCTL = 0xB1000003;
|
||||
}
|
||||
// Enable power ADC and VREF
|
||||
// PWREN
|
||||
// bits 31-24 unlock key 0x26
|
||||
// bit 0 is Enable Power
|
||||
ADC0->ULLMEM.GPRCM.PWREN = 0x26000001;
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->GPRCM.PWREN = 0x26000001;
|
||||
}
|
||||
Clock_Delay(24); // time for ADC and VREF to power up
|
||||
ADC0->ULLMEM.GPRCM.CLKCFG = 0xA9000000; // ULPCLK
|
||||
// bits 31-24 key=0xA9
|
||||
// bit 5 CCONSTOP= 0 not continuous clock in stop mode
|
||||
// bit 4 CCORUN= 0 not continuous clock in run mode
|
||||
// bit 1-0 0=ULPCLK,1=SYSOSC,2=HFCLK
|
||||
ADC0->ULLMEM.CLKFREQ = 7; // 40 to 48 MHz
|
||||
ADC0->ULLMEM.CTL0 = 0x03010000;
|
||||
// bits 26-24 = 011 divide by 8
|
||||
// bit 16 PWRDN=1 for manual, =0 power down on completion, if no pending trigger
|
||||
// bit 0 ENC=0 disable (1 to 0 will end conversion)
|
||||
ADC0->ULLMEM.CTL1 = 0x00000000;
|
||||
// bits 30-28 =0 no shift
|
||||
// bits 26-24 =0 no averaging
|
||||
// bit 20 SAMPMODE=1 software triggers
|
||||
// bits 17-16 CONSEQ=0 ADC at start will be sampled once, 10 for repeated sampling
|
||||
// bit 8 SC=0 for stop, =1 to software start
|
||||
// bit 0 TRIGSRC=0 software trigger
|
||||
ADC0->ULLMEM.CTL2 = 0x00000000;
|
||||
// bits 28-24 ENDADD (which MEMCTL to end)
|
||||
// bits 20-16 STARTADD (which MEMCTL to start)
|
||||
// bits 15-11 SAMPCNT (for DMA)
|
||||
// bit 10 FIFOEN=0 disable FIFO
|
||||
// bit 8 DMAEN=0 disable DMA
|
||||
// bits 2-1 RES=0 for 12 bit (=1 for 10bit,=2for 8-bit)
|
||||
// bit 0 DF=0 unsigned formant (1 for signed, left aligned)
|
||||
ADC0->ULLMEM.MEMCTL[0] = reference+channel;
|
||||
// bit 28 WINCOMP=0 disable window comparator
|
||||
// bit 24 TRIG trigger policy, =0 for auto next, =1 for next requires trigger
|
||||
// bit 20 BCSEN=0 disable burn out current
|
||||
// bit 16 = AVGEN =0 for no averaging
|
||||
// bit 12 = STIME=0 for SCOMP0
|
||||
// bits 9-8 VRSEL = 10 for internal VREF,(00 for VDDA)
|
||||
// bits 4-0 channel = 0 to 7 available
|
||||
ADC0->ULLMEM.SCOMP0 = 0; // 8 sample clocks
|
||||
// ADC0->ULLMEM.GEN_EVENT.ICLR |= 0x0100; // clear flag MEMCTL[0]
|
||||
// ADC0->ULLMEM.GEN_EVENT.IMASK = 0; // no interrupt
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->CLKSEL = 0x00000008; // bus clock
|
||||
VREF->CLKDIV = 0; // divide by 1
|
||||
VREF->CTL0 = 0x0001;
|
||||
// bit 8 SHMODE = off
|
||||
// bit 7 BUFCONFIG=0 for 2.4 (=1 for 1.4)
|
||||
// bit 0 is enable
|
||||
VREF->CTL2 = 0;
|
||||
// bits 31-16 HCYCLE=0
|
||||
// bits 15-0 SHCYCLE=0
|
||||
while((VREF->CTL1&0x01)==0){}; // wait for VREF to be ready
|
||||
}
|
||||
}
|
||||
// sample 12-bit ADC
|
||||
uint32_t ADC0_In(void){
|
||||
ADC0->ULLMEM.CTL0 |= 0x00000001; // enable conversions
|
||||
ADC0->ULLMEM.CTL1 |= 0x00000100; // start ADC
|
||||
uint32_t volatile delay=ADC0->ULLMEM.STATUS; // time to let ADC start
|
||||
while((ADC0->ULLMEM.STATUS&0x01)==0x01){} // wait for completion
|
||||
return ADC0->ULLMEM.MEMRES[0];
|
||||
}
|
||||
|
||||
|
||||
// Assumes 40 MHz bus
|
||||
void ADC1_Init(uint32_t channel, uint32_t reference){
|
||||
// Reset ADC and VREF
|
||||
// RSTCLR
|
||||
// bits 31-24 unlock key 0xB1
|
||||
// bit 1 is Clear reset sticky bit
|
||||
// bit 0 is reset ADC
|
||||
ADC1->ULLMEM.GPRCM.RSTCTL = (uint32_t)0xB1000003;
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->GPRCM.RSTCTL = (uint32_t)0xB1000003;
|
||||
}
|
||||
// Enable power ADC and VREF
|
||||
// PWREN
|
||||
// bits 31-24 unlock key 0x26
|
||||
// bit 0 is Enable Power
|
||||
ADC1->ULLMEM.GPRCM.PWREN = (uint32_t)0x26000001;
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->GPRCM.PWREN = (uint32_t)0x26000001;
|
||||
}
|
||||
Clock_Delay(24); // time for ADC and VREF to power up
|
||||
ADC1->ULLMEM.GPRCM.CLKCFG = 0xA9000000; // ULPCLK
|
||||
// bits 31-24 key=0xA9
|
||||
// bit 5 CCONSTOP= 0 not continuous clock in stop mode
|
||||
// bit 4 CCORUN= 0 not continuous clock in run mode
|
||||
// bit 1-0 0=ULPCLK,1=SYSOSC,2=HFCLK
|
||||
ADC1->ULLMEM.CLKFREQ = 7; // 40 to 48 MHz
|
||||
ADC1->ULLMEM.CTL0 = 0x03010000;
|
||||
// bits 26-24 = 011 divide by 8
|
||||
// bit 16 PWRDN=1 for manual, =0 power down on completion, if no pending trigger
|
||||
// bit 0 ENC=0 disable (1 to 0 will end conversion)
|
||||
ADC1->ULLMEM.CTL1 = 0x00000000;
|
||||
// bits 30-28 =0 no shift
|
||||
// bits 26-24 =0 no averaging
|
||||
// bit 20 SAMPMODE=0 high phase
|
||||
// bits 17-16 CONSEQ=0 ADC at start will be sampled once, 10 for repeated sampling
|
||||
// bit 8 SC=0 for stop, =1 to software start
|
||||
// bit 0 TRIGSRC=0 software trigger
|
||||
ADC1->ULLMEM.CTL2 = 0x00000000;
|
||||
// bits 28-24 ENDADD (which MEMCTL to end)
|
||||
// bits 20-16 STARTADD (which MEMCTL to start)
|
||||
// bits 15-11 SAMPCNT (for DMA)
|
||||
// bit 10 FIFOEN=0 disable FIFO
|
||||
// bit 8 DMAEN=0 disable DMA
|
||||
// bits 2-1 RES=0 for 12 bit (=1 for 10bit,=2for 8-bit)
|
||||
// bit 0 DF=0 unsigned formant (1 for signed, left aligned)
|
||||
ADC1->ULLMEM.MEMCTL[0] = reference+channel;
|
||||
// bit 28 WINCOMP=0 disable window comparator
|
||||
// bit 24 TRIG trigger policy, =0 for auto next, =1 for next requires trigger
|
||||
// bit 20 BCSEN=0 disable burn out current
|
||||
// bit 16 = AVGEN =0 for no averaging
|
||||
// bit 12 = STIME=0 for SCOMP0
|
||||
// bits 9-8 VRSEL = 10 for internal VREF,(00 for VDDA)
|
||||
// bits 4-0 channel = 0 to 7 available
|
||||
ADC1->ULLMEM.SCOMP0 = 0; // 8 sample clocks
|
||||
// ADC1->ULLMEM.GEN_EVENT.ICLR |= 0x0100; // clear flag MEMCTL[0]
|
||||
ADC1->ULLMEM.GEN_EVENT.IMASK = 0; // no interrupt
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->CLKSEL = 0x00000008; // bus clock
|
||||
VREF->CLKDIV = 0; // divide by 1
|
||||
VREF->CTL0 = 0x0001;
|
||||
// bit 8 SHMODE = off
|
||||
// bit 7 BUFCONFIG=0 for 2.4 (=1 for 1.4)
|
||||
// bit 0 is enable
|
||||
VREF->CTL2 = 0;
|
||||
// bits 31-16 HCYCLE=0
|
||||
// bits 15-0 SHCYCLE=0
|
||||
while((VREF->CTL1&0x01)==0){}; // wait for VREF to be ready
|
||||
}
|
||||
}
|
||||
|
||||
// sample 12-bit ADC
|
||||
uint32_t ADC1_In(void){
|
||||
ADC1->ULLMEM.CTL0 |= 0x00000001; // enable conversions
|
||||
ADC1->ULLMEM.CTL1 |= 0x00000100; // start ADC
|
||||
uint32_t volatile delay=ADC1->ULLMEM.STATUS; // time to let ADC start
|
||||
while((ADC1->ULLMEM.STATUS&0x01)==0x01){}; // wait for completion
|
||||
return ADC1->ULLMEM.MEMRES[0];
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Assumes 40 MHz bus
|
||||
void ADC_Init(ADC12_Regs *adc12,uint32_t channel, uint32_t reference){
|
||||
// Reset ADC and VREF
|
||||
// RSTCLR
|
||||
// bits 31-24 unlock key 0xB1
|
||||
// bit 1 is Clear reset sticky bit
|
||||
// bit 0 is reset ADC
|
||||
adc12->ULLMEM.GPRCM.RSTCTL = (uint32_t)0xB1000003;
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->GPRCM.RSTCTL = (uint32_t)0xB1000003;
|
||||
}
|
||||
// Enable power ADC and VREF
|
||||
// PWREN
|
||||
// bits 31-24 unlock key 0x26
|
||||
// bit 0 is Enable Power
|
||||
adc12->ULLMEM.GPRCM.PWREN = (uint32_t)0x26000001;
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->GPRCM.PWREN = (uint32_t)0x26000001;
|
||||
}
|
||||
Clock_Delay(24); // time for ADC and VREF to power up
|
||||
adc12->ULLMEM.GPRCM.CLKCFG = 0xA9000000; // ULPCLK
|
||||
// bits 31-24 key=0xA9
|
||||
// bit 5 CCONSTOP= 0 not continuous clock in stop mode
|
||||
// bit 4 CCORUN= 0 not continuous clock in run mode
|
||||
// bit 1-0 0=ULPCLK,1=SYSOSC,2=HFCLK
|
||||
adc12->ULLMEM.CLKFREQ = 7; // 40 to 48 MHz
|
||||
adc12->ULLMEM.CTL0 = 0x03010000;
|
||||
// bits 26-24 = 011 divide by 8
|
||||
// bit 16 PWRDN=1 for manual, =0 power down on completion, if no pending trigger
|
||||
// bit 0 ENC=0 disable (1 to 0 will end conversion)
|
||||
adc12->ULLMEM.CTL1 = 0x00000000;
|
||||
// bits 30-28 =0 no shift
|
||||
// bits 26-24 =0 no averaging
|
||||
// bit 20 SAMPMODE=0 high phase
|
||||
// bits 17-16 CONSEQ=0 ADC at start will be sampled once, 10 for repeated sampling
|
||||
// bit 8 SC=0 for stop, =1 to software start
|
||||
// bit 0 TRIGSRC=0 software trigger
|
||||
adc12->ULLMEM.CTL2 = 0x00000000;
|
||||
// bits 28-24 ENDADD (which MEMCTL to end)
|
||||
// bits 20-16 STARTADD (which MEMCTL to start)
|
||||
// bits 15-11 SAMPCNT (for DMA)
|
||||
// bit 10 FIFOEN=0 disable FIFO
|
||||
// bit 8 DMAEN=0 disable DMA
|
||||
// bits 2-1 RES=0 for 12 bit (=1 for 10bit,=2for 8-bit)
|
||||
// bit 0 DF=0 unsigned formant (1 for signed, left aligned)
|
||||
adc12->ULLMEM.MEMCTL[0] = reference|channel;
|
||||
// bit 28 WINCOMP=0 disable window comparator
|
||||
// bit 24 TRIG trigger policy, =0 for auto next, =1 for next requires trigger
|
||||
// bit 20 BCSEN=0 disable burn out current
|
||||
// bit 16 = AVGEN =0 for no averaging
|
||||
// bit 12 = STIME=0 for SCOMP0
|
||||
// bits 9-8 VRSEL = 10 for internal VREF,(00 for VDDA)
|
||||
// bits 4-0 channel = 0 to 7 available
|
||||
adc12->ULLMEM.SCOMP0 = 0; // 8 sample clocks
|
||||
// adc12->ULLMEM.INT_EVENT0.ICLR |= 0x0100; // clear flag MEMCTL[0]
|
||||
adc12->ULLMEM.GEN_EVENT.IMASK = 0; // no interrupt
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->CLKSEL = 0x00000008; // bus clock
|
||||
VREF->CLKDIV = 0; // divide by 1
|
||||
VREF->CTL0 = 0x0001;
|
||||
// bit 8 SHMODE = off
|
||||
// bit 7 BUFCONFIG=0 for 2.4 (=1 for 1.4)
|
||||
// bit 0 is enable
|
||||
VREF->CTL2 = 0;
|
||||
// bits 31-16 HCYCLE=0
|
||||
// bits 15-0 SHCYCLE=0
|
||||
while((VREF->CTL1&0x01)==0){}; // wait for VREF to be ready
|
||||
}
|
||||
}
|
||||
|
||||
// sample 12-bit ADC
|
||||
uint32_t ADC_In(ADC12_Regs *adc12){
|
||||
adc12->ULLMEM.CTL0 |= 0x00000001; // enable conversions
|
||||
adc12->ULLMEM.CTL1 |= 0x00000100; // start ADC
|
||||
uint32_t volatile delay=adc12->ULLMEM.STATUS; // time to let ADC start
|
||||
while((adc12->ULLMEM.STATUS&0x01)==0x01){}; // wait for completion
|
||||
return adc12->ULLMEM.MEMRES[0];
|
||||
}
|
||||
|
||||
|
||||
// Assumes 40 MHz bus
|
||||
void ADC_InitDual(ADC12_Regs *adc12,uint32_t channel1,uint32_t channel2, uint32_t reference){
|
||||
// Reset ADC and VREF
|
||||
// RSTCLR
|
||||
// bits 31-24 unlock key 0xB1
|
||||
// bit 1 is Clear reset sticky bit
|
||||
// bit 0 is reset ADC
|
||||
adc12->ULLMEM.GPRCM.RSTCTL = (uint32_t)0xB1000003;
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->GPRCM.RSTCTL = (uint32_t)0xB1000003;
|
||||
}
|
||||
// Enable power ADC and VREF
|
||||
// PWREN
|
||||
// bits 31-24 unlock key 0x26
|
||||
// bit 0 is Enable Power
|
||||
adc12->ULLMEM.GPRCM.PWREN = (uint32_t)0x26000001;
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->GPRCM.PWREN = (uint32_t)0x26000001;
|
||||
}
|
||||
Clock_Delay(24); // time for ADC and VREF to power up
|
||||
adc12->ULLMEM.GPRCM.CLKCFG = 0xA9000000; // ULPCLK
|
||||
// bits 31-24 key=0xA9
|
||||
// bit 5 CCONSTOP= 0 not continuous clock in stop mode
|
||||
// bit 4 CCORUN= 0 not continuous clock in run mode
|
||||
// bit 1-0 0=ULPCLK,1=SYSOSC,2=HFCLK
|
||||
adc12->ULLMEM.CLKFREQ = 7; // 40 to 48 MHz
|
||||
adc12->ULLMEM.CTL0 = 0x03010000;
|
||||
// bits 26-24 = 011 divide by 8
|
||||
// bit 16 PWRDN=1 for manual, =0 power down on completion, if no pending trigger
|
||||
// bit 0 ENC=0 disable (1 to 0 will end conversion)
|
||||
adc12->ULLMEM.CTL1 = 0x00010000;
|
||||
// bits 30-28 =0 no shift
|
||||
// bits 26-24 =0 no averaging
|
||||
// bit 20 SAMPMODE=0 high phase
|
||||
// bits 17-16 CONSEQ=01 ADC at start to end
|
||||
// bit 8 SC=0 for stop, =1 to software start
|
||||
// bit 0 TRIGSRC=0 software trigger
|
||||
adc12->ULLMEM.CTL2 = 0x02010000;
|
||||
// bits 28-24 ENDADD=2 (which MEMCTL to end)
|
||||
// bits 20-16 STARTADD=1 (which MEMCTL to start)
|
||||
// bits 15-11 SAMPCNT (for DMA)
|
||||
// bit 10 FIFOEN=0 disable FIFO
|
||||
// bit 8 DMAEN=0 disable DMA
|
||||
// bits 2-1 RES=0 for 12 bit (=1 for 10bit,=2for 8-bit)
|
||||
// bit 0 DF=0 unsigned formant (1 for signed, left aligned)
|
||||
adc12->ULLMEM.MEMCTL[1] = reference+channel1;
|
||||
adc12->ULLMEM.MEMCTL[2] = reference+channel2;
|
||||
// bit 28 WINCOMP=0 disable window comparator
|
||||
// bit 24 TRIG trigger policy, =0 for auto next, =1 for next requires trigger
|
||||
// bit 20 BCSEN=0 disable burn out current
|
||||
// bit 16 = AVGEN =0 for no averaging
|
||||
// bit 12 = STIME=0 for SCOMP0
|
||||
// bits 9-8 VRSEL = 10 for internal VREF,(00 for VDDA)
|
||||
// bits 4-0 channel = 0 to 7 available
|
||||
adc12->ULLMEM.SCOMP0 = 0; // 8 sample clocks
|
||||
// adc12->ULLMEM.GEN_EVENT.ICLR |= 0x0100; // clear flag MEMCTL[1] ??
|
||||
adc12->ULLMEM.GEN_EVENT.IMASK = 0; // no interrupt
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->CLKSEL = 0x00000008; // bus clock
|
||||
VREF->CLKDIV = 0; // divide by 1
|
||||
VREF->CTL0 = 0x0001;
|
||||
// bit 8 SHMODE = off
|
||||
// bit 7 BUFCONFIG=0 for 2.4 (=1 for 1.4)
|
||||
// bit 0 is enable
|
||||
VREF->CTL2 = 0;
|
||||
// bits 31-16 HCYCLE=0
|
||||
// bits 15-0 SHCYCLE=0
|
||||
while((VREF->CTL1&0x01)==0){}; // wait for VREF to be ready
|
||||
}
|
||||
}
|
||||
|
||||
// sample 12-bit ADC
|
||||
void ADC_InDual(ADC12_Regs *adc12,uint32_t *d1, uint32_t *d2){
|
||||
adc12->ULLMEM.CTL0 |= 0x00000001; // enable conversions
|
||||
adc12->ULLMEM.CTL1 |= 0x00000100; // start ADC
|
||||
uint32_t volatile delay=adc12->ULLMEM.STATUS; // time to let ADC start
|
||||
while((adc12->ULLMEM.STATUS&0x01)==0x01){}; // wait for completion
|
||||
*d1 = adc12->ULLMEM.MEMRES[1];
|
||||
*d2 = adc12->ULLMEM.MEMRES[2];
|
||||
}
|
||||
|
||||
|
||||
// Assumes 40 MHz bus
|
||||
void ADC_InitTriple(ADC12_Regs *adc12,uint32_t channel1,uint32_t channel2,uint32_t channel3,uint32_t reference){
|
||||
// Reset ADC and VREF
|
||||
// RSTCLR
|
||||
// bits 31-24 unlock key 0xB1
|
||||
// bit 1 is Clear reset sticky bit
|
||||
// bit 0 is reset ADC
|
||||
adc12->ULLMEM.GPRCM.RSTCTL = (uint32_t)0xB1000003;
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->GPRCM.RSTCTL = (uint32_t)0xB1000003;
|
||||
}
|
||||
// Enable power ADC and VREF
|
||||
// PWREN
|
||||
// bits 31-24 unlock key 0x26
|
||||
// bit 0 is Enable Power
|
||||
adc12->ULLMEM.GPRCM.PWREN = (uint32_t)0x26000001;
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->GPRCM.PWREN = (uint32_t)0x26000001;
|
||||
}
|
||||
Clock_Delay(24); // time for ADC and VREF to power up
|
||||
adc12->ULLMEM.GPRCM.CLKCFG = 0xA9000000; // ULPCLK
|
||||
// bits 31-24 key=0xA9
|
||||
// bit 5 CCONSTOP= 0 not continuous clock in stop mode
|
||||
// bit 4 CCORUN= 0 not continuous clock in run mode
|
||||
// bit 1-0 0=ULPCLK,1=SYSOSC,2=HFCLK
|
||||
adc12->ULLMEM.CLKFREQ = 7; // 40 to 48 MHz
|
||||
adc12->ULLMEM.CTL0 = 0x03010000;
|
||||
// bits 26-24 = 011 divide by 8
|
||||
// bit 16 PWRDN=1 for manual, =0 power down on completion, if no pending trigger
|
||||
// bit 0 ENC=0 disable (1 to 0 will end conversion)
|
||||
adc12->ULLMEM.CTL1 = 0x00010000;
|
||||
// bits 30-28 =0 no shift
|
||||
// bits 26-24 =0 no averaging
|
||||
// bit 20 SAMPMODE=0 high phase
|
||||
// bits 17-16 CONSEQ=01 ADC at start to end
|
||||
// bit 8 SC=0 for stop, =1 to software start
|
||||
// bit 0 TRIGSRC=0 software trigger
|
||||
adc12->ULLMEM.CTL2 = 0x03010000;
|
||||
// bits 28-24 ENDADD=3 (which MEMCTL to end)
|
||||
// bits 20-16 STARTADD=1 (which MEMCTL to start)
|
||||
// bits 15-11 SAMPCNT (for DMA)
|
||||
// bit 10 FIFOEN=0 disable FIFO
|
||||
// bit 8 DMAEN=0 disable DMA
|
||||
// bits 2-1 RES=0 for 12 bit (=1 for 10bit,=2for 8-bit)
|
||||
// bit 0 DF=0 unsigned formant (1 for signed, left aligned)
|
||||
adc12->ULLMEM.MEMCTL[1] = reference+channel1;
|
||||
adc12->ULLMEM.MEMCTL[2] = reference+channel2;
|
||||
adc12->ULLMEM.MEMCTL[3] = reference+channel3;
|
||||
// bit 28 WINCOMP=0 disable window comparator
|
||||
// bit 24 TRIG trigger policy, =0 for auto next, =1 for next requires trigger
|
||||
// bit 20 BCSEN=0 disable burn out current
|
||||
// bit 16 = AVGEN =0 for no averaging
|
||||
// bit 12 = STIME=0 for SCOMP0
|
||||
// bits 9-8 VRSEL = 10 for internal VREF,(00 for VDDA)
|
||||
// bits 4-0 channel = 0 to 7 available
|
||||
adc12->ULLMEM.SCOMP0 = 0; // 8 sample clocks
|
||||
// adc12->ULLMEM.GEN_EVENT.ICLR |= 0x0100; // clear flag MEMCTL[1] ??
|
||||
adc12->ULLMEM.GEN_EVENT.IMASK = 0; // no interrupt
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->CLKSEL = 0x00000008; // bus clock
|
||||
VREF->CLKDIV = 0; // divide by 1
|
||||
VREF->CTL0 = 0x0001;
|
||||
// bit 8 SHMODE = off
|
||||
// bit 7 BUFCONFIG=0 for 2.4 (=1 for 1.4)
|
||||
// bit 0 is enable
|
||||
VREF->CTL2 = 0;
|
||||
// bits 31-16 HCYCLE=0
|
||||
// bits 15-0 SHCYCLE=0
|
||||
while((VREF->CTL1&0x01)==0){}; // wait for VREF to be ready
|
||||
}
|
||||
}
|
||||
|
||||
// sample 12-bit ADC
|
||||
void ADC_InTriple(ADC12_Regs *adc12,uint32_t *d1, uint32_t *d2, uint32_t *d3){
|
||||
adc12->ULLMEM.CTL0 |= 0x00000001; // enable conversions
|
||||
adc12->ULLMEM.CTL1 |= 0x00000100; // start ADC
|
||||
uint32_t volatile delay=adc12->ULLMEM.STATUS; // time to let ADC start
|
||||
while((adc12->ULLMEM.STATUS&0x01)==0x01){}; // wait for completion
|
||||
*d1 = adc12->ULLMEM.MEMRES[1];
|
||||
*d2 = adc12->ULLMEM.MEMRES[2];
|
||||
*d3 = adc12->ULLMEM.MEMRES[3];
|
||||
}
|
||||
// n means 2^n samples in average, n=0 to 7
|
||||
void ADC0_InitAve(uint32_t channel, uint32_t n){
|
||||
ADC0->ULLMEM.GPRCM.RSTCTL = 0xB1000003; // 1) reset
|
||||
ADC0->ULLMEM.GPRCM.PWREN = 0x26000001; // 2) activate
|
||||
Clock_Delay(24); // 3) wait
|
||||
ADC0->ULLMEM.GPRCM.CLKCFG = 0xA9000000; // 4) ULPCLK
|
||||
ADC0->ULLMEM.CLKFREQ = 7; // 5) 40-48 MHz
|
||||
ADC0->ULLMEM.CTL0 = 0x03010000; // 6) divide by 8
|
||||
ADC0->ULLMEM.CTL1 = 0x00000000|(n<<28)|(n<<24);// 7) mode
|
||||
// AVGD = AVEN = n
|
||||
ADC0->ULLMEM.CTL2 = 0x00000000; // 8) MEMRES
|
||||
if(n){
|
||||
ADC0->ULLMEM.MEMCTL[0] = (1<<16)|channel; // 9) channel
|
||||
}else{
|
||||
ADC0->ULLMEM.MEMCTL[0] = channel; // 9) channel
|
||||
}
|
||||
ADC0->ULLMEM.SCOMP0 = 0; // 10) 8 sample clocks
|
||||
ADC0->ULLMEM.GEN_EVENT.IMASK = 0; // 11) no interrupt
|
||||
}
|
||||
|
||||
235
inc/ADC.h
Normal file
@@ -0,0 +1,235 @@
|
||||
/*!
|
||||
* @defgroup ADC
|
||||
* @brief Analog to digital conversion
|
||||
<table>
|
||||
<caption id="ADCpins">ADC pins on the MSPM0G3507</caption>
|
||||
<tr><th>Pin <th>ADC channel<th>Sensor
|
||||
<tr><td>PA27 <td>ADC0 channel 0 <td>J1.8 also MKII light interrupt
|
||||
<tr><td>PA26 <td>ADC0 channel 1 <td>J1.6 MKII microphone in
|
||||
<tr><td>PA25 <td>ADC0 channel 2 <td>J1.2 MKII Joystick X
|
||||
<tr><td>PA24 <td>ADC0 channel 3 <td>J3.27 ***free***
|
||||
<tr><td>PB25 <td>ADC0 channel 4 <td>J19.7 (insert 0ohm R74, no U3 OPA2365)
|
||||
<tr><td>PB24 <td>ADC0 channel 5 <td>J1.5 thermistor, also MKII joystick select button
|
||||
<tr><td>PB20 <td>ADC0 channel 6 <td>J4.36 ***free***
|
||||
<tr><td>PA22 <td>ADC0 channel 7 <td>J24 MKII Accelerometer Y
|
||||
|
||||
<tr><td>PA15 <td>ADC1 channel 0 <td>J3.30 (also DACout)
|
||||
<tr><td>PA16 <td>ADC1 channel 1 <td>J3.29 ***free***
|
||||
<tr><td>PA17 <td>ADC1 channel 2 <td>J3.28 ***free***
|
||||
<tr><td>PA18 <td>ADC1 channel 3 <td>J3.26 MKII Joystick Y
|
||||
<tr><td>PB17 <td>ADC1 channel 4 <td>J2.18 ***free***
|
||||
<tr><td>PB18 <td>ADC1 channel 5 <td>J3.25 MKII Accelerometer Z
|
||||
<tr><td>PB19 <td>ADC1 channel 6 <td>J3.23 MKII Accelerometer X
|
||||
<tr><td>PA21 <td>ADC1 channel 7 <td>J17.8 (insert R20, remove R3)
|
||||
|
||||
</table>
|
||||
* @{*/
|
||||
/**
|
||||
* @file ADC.h
|
||||
* @brief Initialize 12-bit ADC0 and/or ADC1
|
||||
* @details ADC input, software trigger, 12-bit conversion<br>
|
||||
* The ADC allows two possible references: 2.5V or 3.3V.<br>
|
||||
* The internal 2.5V reference is lower noise, but limits the range to 0 to 2.5V.<br>
|
||||
* The other possibility is to use the analog voltage supply at 3.3V,
|
||||
* making the ADC range 0 to 3.3V. In this driver, the 3.3V range is selected.
|
||||
* There are several configurations (each with initialization and a
|
||||
* read ADC with software trigger, busy-wait function)<br>
|
||||
|
||||
* @version ECE319K v1.0
|
||||
* @author Daniel Valvano and Jonathan Valvano
|
||||
* @copyright Copyright 2023 by Jonathan W. Valvano, valvano@mail.utexas.edu,
|
||||
* @warning AS-IS
|
||||
* @note For more information see http://users.ece.utexas.edu/~valvano/
|
||||
* @date August 13, 2023
|
||||
<table>
|
||||
<caption id="ADCpins2">ADC pins on the MSPM0G3507</caption>
|
||||
<tr><th>Pin <th>ADC channel<th>Sensor
|
||||
<tr><td>PA27 <td>ADC0 channel 0 <td>J1.8 also MKII light interrupt
|
||||
<tr><td>PA26 <td>ADC0 channel 1 <td>J1.6 MKII microphone in
|
||||
<tr><td>PA25 <td>ADC0 channel 2 <td>J1.2 MKII Joystick X
|
||||
<tr><td>PA24 <td>ADC0 channel 3 <td>J3.27 ***free***
|
||||
<tr><td>PB25 <td>ADC0 channel 4 <td>J19.7 (insert 0ohm R74, no U3 OPA2365)
|
||||
<tr><td>PB24 <td>ADC0 channel 5 <td>J1.5 also MKII joystick select button
|
||||
<tr><td>PB20 <td>ADC0 channel 6 <td>J4.36 ***free***
|
||||
<tr><td>PA22 <td>ADC0 channel 7 <td>J24 MKII Accelerometer Y
|
||||
|
||||
<tr><td>PA15 <td>ADC1 channel 0 <td>J3.30 (also DACout)
|
||||
<tr><td>PA16 <td>ADC1 channel 1 <td>J3.29 ***free***
|
||||
<tr><td>PA17 <td>ADC1 channel 2 <td>J3.28 ***free***
|
||||
<tr><td>PA18 <td>ADC1 channel 3 <td>J3.26 MKII Joystick Y
|
||||
<tr><td>PB17 <td>ADC1 channel 4 <td>J2.18 ***free***
|
||||
<tr><td>PB18 <td>ADC1 channel 5 <td>J3.25 MKII Accelerometer Z
|
||||
<tr><td>PB19 <td>ADC1 channel 6 <td>J3.23 MKII Accelerometer X
|
||||
<tr><td>PA21 <td>ADC1 channel 7 <td>J17.8 (insert R20, remove R3)
|
||||
|
||||
</table>
|
||||
****note to students****<br>
|
||||
the data sheet says the ADC does not work when clock is 80 MHz
|
||||
however, the ADC seems to work on my boards at 80 MHz
|
||||
I suggest you try 80MHz, but if it doesn't work, switch to 40MHz
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
|
||||
//#ifndef __ADC_H__
|
||||
//#define __ADC_H__
|
||||
#include <ti/devices/msp/msp.h>
|
||||
#include <stdint.h>
|
||||
/**
|
||||
* \brief using ADCVREF_INT means choose internal 2.5V reference for accuracy
|
||||
*/
|
||||
#define ADCVREF_INT 0x200
|
||||
/**
|
||||
* \brief using ADCVREF_EXT means choose external reference not tested
|
||||
*/
|
||||
#define ADCVREF_EXT 0x100
|
||||
/**
|
||||
* \brief using ADCVREF_VDDA means choose power line 3.3V reference for 0 to 3.3V range
|
||||
*/
|
||||
#define ADCVREF_VDDA 0x000
|
||||
|
||||
/**
|
||||
* Initialize 12-bit ADC0 in software-triggered mode to take
|
||||
* measurements when the associated function is called.
|
||||
* One channel is to be measured
|
||||
* @param channel is the 0 to 7
|
||||
* @param reference is ADCVREF_INT, ADCVREF_EXT, ADCVREF_VDDA
|
||||
* @return none
|
||||
* @brief Initialize 12-bit ADC0
|
||||
*/
|
||||
void ADC0_Init(uint32_t channel, uint32_t reference);
|
||||
|
||||
/**
|
||||
* Trigger a single ADC0 measurement,
|
||||
* wait for it to complete, and return the 12-bit result
|
||||
* as 0 to 4095.
|
||||
* The ADC input voltage range is 0 to 3.3V.
|
||||
* Busy-wait synchronization used.
|
||||
* @param none
|
||||
* @return 12-bit result
|
||||
* @note Assumes ADC0_Init has been called.
|
||||
* @brief Trigger ADC measurement and wait for result.
|
||||
*/
|
||||
uint32_t ADC0_In(void);
|
||||
|
||||
/**
|
||||
* Initialize 12-bit ADC1 in software-triggered mode to take
|
||||
* measurements when the associated function is called.
|
||||
* One channel is to be measured
|
||||
* @param channel is the 0 to 7
|
||||
* @param reference is ADCVREF_INT, ADCVREF_EXT, ADCVREF_VDDA
|
||||
* @return none
|
||||
* @brief Initialize 12-bit ADC0
|
||||
*/
|
||||
void ADC1_Init(uint32_t channel, uint32_t reference);
|
||||
|
||||
/**
|
||||
* Trigger a single ADC1 measurement,
|
||||
* wait for it to complete, and return the 12-bit result
|
||||
* as 0 to 4095.
|
||||
* The ADC input voltage range is 0 to 3.3V.
|
||||
* Busy-wait synchronization used.
|
||||
* @param none
|
||||
* @return 12-bit result
|
||||
* @note Assumes ADC1_Init has been called.
|
||||
* @brief Trigger ADC measurement and wait for result.
|
||||
*/
|
||||
uint32_t ADC1_In(void);
|
||||
|
||||
/**
|
||||
* Initialize 12-bit ADC0 or ADC1 in software-triggered mode to take
|
||||
* measurements when the associated function is called.
|
||||
* One channel is to be measured
|
||||
* @param adc12 is ADC0 or ADC1
|
||||
* @param channel is the 0 to 7
|
||||
* @param reference is ADCVREF_INT, ADCVREF_EXT, ADCVREF_VDDA
|
||||
* @return none
|
||||
* @brief Initialize 12-bit ADC0
|
||||
*/
|
||||
void ADC_Init(ADC12_Regs *adc12, uint32_t channel, uint32_t reference);
|
||||
|
||||
/**
|
||||
* Trigger a single ADC0 or ADC1 measurement,
|
||||
* wait for it to complete, and return the 12-bit result
|
||||
* as 0 to 4095.
|
||||
* The ADC input voltage range is 0 to 3.3V.
|
||||
* Busy-wait synchronization used.
|
||||
* @param adc12 is ADC0 or ADC1
|
||||
* @return 12-bit result
|
||||
* @note Assumes ADC_Init has been called.
|
||||
* @brief Trigger ADC measurement and wait for result.
|
||||
*/
|
||||
uint32_t ADC_In(ADC12_Regs *adc12);
|
||||
|
||||
/**
|
||||
* Initialize 12-bit ADC0 or ADC1 in software-triggered mode to take
|
||||
* measurements when the associated function is called.
|
||||
* Two channels are to be measured
|
||||
* @param adc12 is ADC0 or ADC1
|
||||
* @param channel1 is the 0 to 7
|
||||
* @param channel2 is the 0 to 7
|
||||
* @param reference is ADCVREF_INT, ADCVREF_EXT, ADCVREF_VDDA
|
||||
* @return none
|
||||
* @brief Initialize 12-bit ADC for two channels
|
||||
*/
|
||||
void ADC_InitDual(ADC12_Regs *adc12, uint32_t channel1, uint32_t channel2, uint32_t reference);
|
||||
|
||||
/**
|
||||
* Trigger a dual ADC0 or ADC1 measurement,
|
||||
* wait for it to complete, and return the two 12-bit results
|
||||
* as 0 to 4095.
|
||||
* The ADC input voltage range is 0 to 3.3V.
|
||||
* Busy-wait synchronization used.
|
||||
* @param adc12 is ADC0 or ADC1
|
||||
* @param *d1 address into which the first ADC sample will be stored
|
||||
* @param *d2 address into which the second ADC sample will be stored
|
||||
* @return none
|
||||
* @note Assumes ADC_InitDual has been called.
|
||||
* @brief Trigger two ADC measurements and wait for results.
|
||||
*/
|
||||
void ADC_InDual(ADC12_Regs *adc12, uint32_t *d1, uint32_t *d2);
|
||||
|
||||
/**
|
||||
* Initialize 12-bit ADC0 or ADC1 in software-triggered mode to take
|
||||
* measurements when the associated function is called.
|
||||
* three channels are to be measured
|
||||
* @param adc12 is ADC0 or ADC1
|
||||
* @param channel1 is the 0 to 7
|
||||
* @param channel2 is the 0 to 7
|
||||
* @param channel3 is the 0 to 7
|
||||
* @param reference is ADCVREF_INT, ADCVREF_EXT, ADCVREF_VDDA
|
||||
* @return none
|
||||
* @brief Initialize 12-bit ADC for three channels
|
||||
*/
|
||||
void ADC_InitTriple(ADC12_Regs *adc12,uint32_t channel1,uint32_t channel2,uint32_t channel3,uint32_t reference);
|
||||
|
||||
/**
|
||||
* Trigger a triple ADC0 or ADC1 measurement,
|
||||
* wait for it to complete, and return the three 12-bit results
|
||||
* as 0 to 4095.
|
||||
* The ADC input voltage range is 0 to 3.3V.
|
||||
* Busy-wait synchronization used.
|
||||
* @param adc12 is ADC0 or ADC1
|
||||
* @param *d1 address into which the first ADC sample will be stored
|
||||
* @param *d2 address into which the second ADC sample will be stored
|
||||
* @param *d3 address into which the third ADC sample will be stored
|
||||
* @return none
|
||||
* @note Assumes ADC_InitTriple has been called.
|
||||
* @brief Trigger three ADC measurements and wait for results.
|
||||
*/
|
||||
void ADC_InTriple(ADC12_Regs *adc12,uint32_t *d1, uint32_t *d2, uint32_t *d3);
|
||||
|
||||
/**
|
||||
* Initialize 12-bit ADC0 in software-triggered mode to take
|
||||
* measurements when the associated function is called.
|
||||
* One channel is to be measured 2^n times in average.
|
||||
* @param channel is the 0 to 7
|
||||
* @param n 0 to 7
|
||||
* @return none
|
||||
* @brief Initialize 12-bit ADC0 for hardware averaging
|
||||
* @note uses ADCVREF_VDDA, so range is 0 to 3.3V
|
||||
*/
|
||||
void ADC0_InitAve(uint32_t channel, uint32_t n);
|
||||
|
||||
//#endif // __ADC_H__
|
||||
/** @}*/
|
||||
96
inc/ADC1.c
Normal file
@@ -0,0 +1,96 @@
|
||||
/* ADC1.c
|
||||
* Students put your names here
|
||||
* Modified: put the date here
|
||||
* 12-bit ADC input on ADC1 channel 5, PB18
|
||||
*/
|
||||
#include <ti/devices/msp/msp.h>
|
||||
#include "../inc/Clock.h"
|
||||
#define ADCVREF_VDDA 0x000
|
||||
#define ADCVREF_INT 0x200
|
||||
void ADC1_Init(uint32_t channel){
|
||||
// Reset ADC and VREF
|
||||
// RSTCLR
|
||||
// bits 31-24 unlock key 0xB1
|
||||
// bit 1 is Clear reset sticky bit
|
||||
// bit 0 is reset ADC
|
||||
ADC1->ULLMEM.GPRCM.RSTCTL = (uint32_t)0xB1000003;
|
||||
|
||||
// Enable power ADC and VREF
|
||||
// PWREN
|
||||
// bits 31-24 unlock key 0x26
|
||||
// bit 0 is Enable Power
|
||||
ADC1->ULLMEM.GPRCM.PWREN = (uint32_t)0x26000001;
|
||||
|
||||
Clock_Delay(24); // time for ADC and VREF to power up
|
||||
ADC1->ULLMEM.GPRCM.CLKCFG = 0xA9000000; // ULPCLK
|
||||
// bits 31-24 key=0xA9
|
||||
// bit 5 CCONSTOP= 0 not continuous clock in stop mode
|
||||
// bit 4 CCORUN= 0 not continuous clock in run mode
|
||||
// bit 1-0 0=ULPCLK,1=SYSOSC,2=HFCLK
|
||||
ADC1->ULLMEM.CLKFREQ = 7; // 40 to 48 MHz
|
||||
ADC1->ULLMEM.CTL0 = 0x03010000;
|
||||
// bits 26-24 = 011 divide by 8
|
||||
// bit 16 PWRDN=1 for manual, =0 power down on completion, if no pending trigger
|
||||
// bit 0 ENC=0 disable (1 to 0 will end conversion)
|
||||
ADC1->ULLMEM.CTL1 = 0x00000000;
|
||||
// bits 30-28 =0 no shift
|
||||
// bits 26-24 =0 no averaging
|
||||
// bit 20 SAMPMODE=0 high phase
|
||||
// bits 17-16 CONSEQ=0 ADC at start will be sampled once, 10 for repeated sampling
|
||||
// bit 8 SC=0 for stop, =1 to software start
|
||||
// bit 0 TRIGSRC=0 software trigger
|
||||
ADC1->ULLMEM.CTL2 = 0x00000000;
|
||||
// bits 28-24 ENDADD (which MEMCTL to end)
|
||||
// bits 20-16 STARTADD (which MEMCTL to start)
|
||||
// bits 15-11 SAMPCNT (for DMA)
|
||||
// bit 10 FIFOEN=0 disable FIFO
|
||||
// bit 8 DMAEN=0 disable DMA
|
||||
// bits 2-1 RES=0 for 12 bit (=1 for 10bit,=2for 8-bit)
|
||||
// bit 0 DF=0 unsigned formant (1 for signed, left aligned)
|
||||
ADC1->ULLMEM.MEMCTL[0] = ADCVREF_VDDA+channel;
|
||||
// bit 28 WINCOMP=0 disable window comparator
|
||||
// bit 24 TRIG trigger policy, =0 for auto next, =1 for next requires trigger
|
||||
// bit 20 BCSEN=0 disable burn out current
|
||||
// bit 16 = AVGEN =0 for no averaging
|
||||
// bit 12 = STIME=0 for SCOMP0
|
||||
// bits 9-8 VRSEL = 10 for internal VREF,(00 for VDDA)
|
||||
// bits 4-0 channel = 0 to 7 available
|
||||
ADC1->ULLMEM.SCOMP0 = 0; // 8 sample clocks
|
||||
// ADC1->ULLMEM.GEN_EVENT.ICLR |= 0x0100; // clear flag MEMCTL[0]
|
||||
ADC1->ULLMEM.GEN_EVENT.IMASK = 0; // no interrupt
|
||||
|
||||
}
|
||||
|
||||
|
||||
void ADCinit(void){
|
||||
// write code to initialize ADC1 channel 5, PB18
|
||||
// Your measurement will be connected to PB18
|
||||
// 12-bit mode, 0 to 3.3V, right justified
|
||||
// software trigger, no averaging
|
||||
ADC1_Init(5);
|
||||
}
|
||||
uint32_t ADCin(void){
|
||||
// write code to sample ADC1 channel 5, PB18 once
|
||||
// return digital result (0 to 4095)
|
||||
ADC1->ULLMEM.CTL0 |= 0x00000001; // enable conversions
|
||||
ADC1->ULLMEM.CTL1 |= 0x00000100; // start ADC
|
||||
uint32_t volatile delay=ADC1->ULLMEM.STATUS; // time to let ADC start
|
||||
while((ADC1->ULLMEM.STATUS&0x01)==0x01){}; // wait for completion
|
||||
return ADC1->ULLMEM.MEMRES[0];
|
||||
// return 42;
|
||||
}
|
||||
|
||||
// your function to convert ADC sample to distance (0.001cm)
|
||||
// use main2 to calibrate the system fill in 5 points in Calibration.xls
|
||||
// determine constants k1 k2 to fit Position=(k1*Data + k2)>>12
|
||||
uint32_t Convert(uint32_t input){
|
||||
return (input*2000)>>12;
|
||||
//return 42; // replace this with a linear function
|
||||
}
|
||||
|
||||
// do not use this function
|
||||
// it is added just to show you how SLOW floating point in on a Cortex M0+
|
||||
float FloatConvert(uint32_t input){
|
||||
return 0.00048828125*input -0.0001812345;
|
||||
}
|
||||
|
||||
71
inc/ADC1.h
Normal file
@@ -0,0 +1,71 @@
|
||||
/* ADC1.h
|
||||
* Students put your names here
|
||||
* Modified: put the date here
|
||||
* 12-bit ADC input on ADC1 channel 5, PB18
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file ADC1.h
|
||||
* @brief 12-bit ADC input
|
||||
* @details 12-bit ADC input on ADC1 channel 5, PB18<br>
|
||||
* @version ECE319K Spring 2024
|
||||
* @author Your names go here
|
||||
* @copyright Lab solution, do not post,
|
||||
* @warning AS-IS
|
||||
* @note For more information see http://users.ece.utexas.edu/~valvano/
|
||||
* @date December 29, 2023
|
||||
<table>
|
||||
<caption id="Lab7pins">Pins for the 12-bit ADC</caption>
|
||||
<tr><th>Pin <th>GPIO<th>Hardware
|
||||
<tr><td>PB18 <td>input<td>connected to slide-pot sensor
|
||||
</table>
|
||||
******************************************************************************/
|
||||
#ifndef __ADC1_H__
|
||||
#define __ADC1_H__
|
||||
|
||||
/**
|
||||
* Initialize 12-bit ADC
|
||||
* - PB18 analog input
|
||||
* @param none
|
||||
* @return none
|
||||
* @brief Initialize ADC
|
||||
* @note LaunchPad_Init has been called; this program should not reset Port B
|
||||
*/
|
||||
void ADCinit(void);
|
||||
// write code to initialize ADC1 channel 5, PB18
|
||||
// Your measurement will be connected to PB18
|
||||
// 12-bit mode, 0 to 3.3V, right justified
|
||||
// software trigger, no averaging
|
||||
|
||||
/**
|
||||
* Input from 12-bit ADC
|
||||
* @param none
|
||||
* @return sample 12-bit conversion
|
||||
* @brief Input from PB18
|
||||
*/
|
||||
uint32_t ADCin(void);
|
||||
// write code to sample ADC1 channel 5, PB18 once
|
||||
// return digital result (0 to 4095)
|
||||
|
||||
|
||||
/**
|
||||
* Convert raw 12-bit ADC to fixed point distance
|
||||
* @param input 12-bit ADC raw sample
|
||||
* @return distance as 0.001cm fixed point number
|
||||
* @brief Input from PB18
|
||||
*/
|
||||
uint32_t Convert(uint32_t input);
|
||||
// determine constants k1 k2 to fit Position=(k1*Data + k2)>>12
|
||||
|
||||
|
||||
/**
|
||||
* Convert raw 12-bit ADC to distance
|
||||
* @param input 12-bit ADC raw sample
|
||||
* @return distance as a floating-point number in cm
|
||||
* @brief Input from PB18
|
||||
*/
|
||||
float FloatConvert(uint32_t input);
|
||||
// do not use this function
|
||||
// it is added just to show you how SLOW floating point in on a Cortex M0+
|
||||
|
||||
#endif // __ADC1_H__
|
||||
214
inc/ADCTimer.c
Normal file
@@ -0,0 +1,214 @@
|
||||
/* ADCTimer.c
|
||||
* Jonathan Valvano
|
||||
* December 8, 2025
|
||||
* Derived from adc12_single_conversion_vref_internal_LP_MSPM0G3507_nortos_ticlang
|
||||
* adc12_single_conversion_LP_MSPM0G3507_nortos_ticlang
|
||||
* adc12_triggered_by_timer_event_LP_MSPM0G3507_nortos_ticlang
|
||||
*/
|
||||
|
||||
|
||||
// ****note to students****
|
||||
// the data sheet says the ADC does not work when clock is 80 MHz
|
||||
// however, the ADC seems to work on my boards at 80 MHz
|
||||
// I suggest you try 80MHz, but if it doesn't work, switch to 40MHz
|
||||
|
||||
#include <ti/devices/msp/msp.h>
|
||||
#include "../inc/ADCTimer.h"
|
||||
#include "../inc/Clock.h"
|
||||
|
||||
|
||||
// Assumes 80 MHz bus
|
||||
// power Domain PD0
|
||||
// for 80MHz bus clock, Timer G0 clock is ULPCLK 40MHz
|
||||
// frequency = TimerClock/prescale/period
|
||||
// e.g., period=5000,prescale=8 is 40MHz/5000/8 = 1kHz
|
||||
void ADC0_TimerG0_Init(uint32_t channel, uint32_t reference,uint16_t period, uint32_t prescale, uint32_t priority){
|
||||
// Reset ADC Timer G0 and VREF
|
||||
// RSTCLR
|
||||
// bits 31-24 unlock key 0xB1
|
||||
// bit 1 is Clear reset sticky bit
|
||||
// bit 0 is reset ADC
|
||||
ADC0->ULLMEM.GPRCM.RSTCTL = 0xB1000003;
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->GPRCM.RSTCTL = 0xB1000003;
|
||||
}
|
||||
TIMG0->GPRCM.RSTCTL = 0xB1000003;
|
||||
|
||||
// Enable power ADC G0 and VREF
|
||||
// PWREN
|
||||
// bits 31-24 unlock key 0x26
|
||||
// bit 0 is Enable Power
|
||||
ADC0->ULLMEM.GPRCM.PWREN = 0x26000001;
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->GPRCM.PWREN = 0x26000001;
|
||||
}
|
||||
TIMG0->GPRCM.PWREN = 0x26000001;
|
||||
Clock_Delay(24); // time for ADC Vref G0 to power up
|
||||
|
||||
TIMG0->CLKSEL = 0x08; // bus clock
|
||||
TIMG0->CLKDIV = 0x00; // divide by 1
|
||||
TIMG0->COMMONREGS.CPS = prescale-1; // divide by prescale,
|
||||
TIMG0->COUNTERREGS.LOAD = period-1; // set reload register
|
||||
TIMG0->FPUB_0 = 1; // publish on channel 1
|
||||
// bits 29-28 CVAE 00 (set to LOAD value)
|
||||
TIMG0->COUNTERREGS.CTRCTL = 0x02;
|
||||
// bits 5-4 CM =0, down
|
||||
// bits 3-1 REPEAT =001, continue
|
||||
// bit 0 EN enable (0 for disable, 1 for enable)
|
||||
TIMG0->GEN_EVENT0.IMASK = 1; // hardware event published on Chan1
|
||||
TIMG0->COMMONREGS.CCLKCTL = 1;
|
||||
|
||||
ADC0->ULLMEM.GPRCM.CLKCFG = 0xA9000000; // ULPCLK
|
||||
// bits 31-24 key=0xA9
|
||||
// bit 5 CCONSTOP= 0 not continuous clock in stop mode
|
||||
// bit 4 CCORUN= 0 not continuous clock in run mode
|
||||
// bit 1-0 0=ULPCLK,1=SYSOSC,2=HFCLK
|
||||
ADC0->ULLMEM.CLKFREQ = 7; // 40 to 48 MHz
|
||||
ADC0->ULLMEM.CTL0 = 0x03010000;
|
||||
// bits 26-24 = 011 divide by 8
|
||||
// bit 16 PWRDN=1 for manual, =0 power down on completion, if no pending trigger
|
||||
// bit 0 ENC=1 enable (1 to 0 will end conversion)
|
||||
ADC0->ULLMEM.CTL1 = 0x00000001;
|
||||
// bits 30-28 =0 no shift
|
||||
// bits 26-24 =0 no averaging
|
||||
// bit 20 SAMPMODE=0 timer triggers
|
||||
// bits 17-16 CONSEQ=01 ADC at start will be sampled once, 10 for repeated sampling
|
||||
// bit 8 SC=0 for stop, =1 to software start
|
||||
// bit 0 TRIGSRC=1 timer trigger
|
||||
ADC0->ULLMEM.CTL2 = 0x00000000;
|
||||
// bits 28-24 ENDADD (which MEMCTL to end)
|
||||
// bits 20-16 STARTADD (which MEMCTL to start)
|
||||
// bits 15-11 SAMPCNT (for DMA)
|
||||
// bit 10 FIFOEN=0 disable FIFO
|
||||
// bit 8 DMAEN=0 disable DMA
|
||||
// bits 2-1 RES=0 for 12 bit (=1 for 10bit,=2for 8-bit)
|
||||
// bit 0 DF=0 unsigned formant (1 for signed, left aligned)
|
||||
ADC0->ULLMEM.MEMCTL[0] = reference+channel;
|
||||
// bit 28 WINCOMP=0 disable window comparator
|
||||
// bit 24 TRIG trigger policy, =0 for auto next, =1 for next requires trigger
|
||||
// bit 20 BCSEN=0 disable burn out current
|
||||
// bit 16 = AVGEN =0 for no averaging
|
||||
// bit 12 = STIME=0 for SCOMP0
|
||||
// bits 9-8 VRSEL = 10 for internal VREF,(00 for VDDA)
|
||||
// bits 4-0 channel = 0 to 7 available
|
||||
ADC0->ULLMEM.SCOMP0 = 0x64; // sample clocks
|
||||
ADC0->ULLMEM.SCOMP1 = 0x32; // sample clocks
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->CLKSEL = 0x00000008; // bus clock
|
||||
VREF->CLKDIV = 0; // divide by 1
|
||||
VREF->CTL0 = 0x0001;
|
||||
// bit 8 SHMODE = off
|
||||
// bit 7 BUFCONFIG=0 for 2.4 (=1 for 1.4)
|
||||
// bit 0 is enable
|
||||
VREF->CTL2 = 0;
|
||||
// bits 31-16 HCYCLE=0
|
||||
// bits 15-0 SHCYCLE=0
|
||||
while((VREF->CTL1&0x01)==0){}; // wait for VREF to be ready
|
||||
}
|
||||
ADC0->ULLMEM.FSUB_0 = 0x00000001; // subscribe to chan 1
|
||||
ADC0->ULLMEM.CPU_INT.IMASK = 0x00000100; //MEMRESIFG0
|
||||
ADC0->ULLMEM.CTL0 |= 1; // start
|
||||
|
||||
NVIC->ISER[0] = 1 << 4; // ADC0 interrupt
|
||||
NVIC->IP[1] = (NVIC->IP[1]&(~0x000000FF))|(priority<<6); // set priority (bits 7,6) IRQ 4
|
||||
|
||||
TIMG0->COUNTERREGS.CTRCTL |= 0x01;
|
||||
}
|
||||
|
||||
// Assumes 80 MHz bus
|
||||
// power Domain PD0
|
||||
// for 80MHz bus clock, Timer G8 clock is ULPCLK 40MHz
|
||||
// frequency = TimerClock/prescale/period
|
||||
// e.g., period=5000,prescale=8 is 40MHz/5000/8 = 1kHz
|
||||
void ADC1_TimerG8_Init(uint32_t channel, uint32_t reference,uint16_t period, uint32_t prescale, uint32_t priority){
|
||||
// Reset ADC Timer G8 and VREF
|
||||
// RSTCLR
|
||||
// bits 31-24 unlock key 0xB1
|
||||
// bit 1 is Clear reset sticky bit
|
||||
// bit 0 is reset ADC
|
||||
ADC1->ULLMEM.GPRCM.RSTCTL = 0xB1000003;
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->GPRCM.RSTCTL = 0xB1000003;
|
||||
}
|
||||
TIMG8->GPRCM.RSTCTL = 0xB1000003;
|
||||
|
||||
// Enable power ADC G0 and VREF
|
||||
// PWREN
|
||||
// bits 31-24 unlock key 0x26
|
||||
// bit 0 is Enable Power
|
||||
ADC1->ULLMEM.GPRCM.PWREN = 0x26000001;
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->GPRCM.PWREN = 0x26000001;
|
||||
}
|
||||
TIMG8->GPRCM.PWREN = 0x26000001;
|
||||
Clock_Delay(24); // time for ADC Vref G8 to power up
|
||||
|
||||
TIMG8->CLKSEL = 0x08; // bus clock
|
||||
TIMG8->CLKDIV = 0x00; // divide by 1
|
||||
TIMG8->COMMONREGS.CPS = prescale-1; // divide by prescale,
|
||||
TIMG8->COUNTERREGS.LOAD = period-1; // set reload register
|
||||
TIMG8->FPUB_0 = 1; // publish on channel 1
|
||||
// bits 29-28 CVAE 00 (set to LOAD value)
|
||||
TIMG8->COUNTERREGS.CTRCTL = 0x02;
|
||||
// bits 5-4 CM =0, down
|
||||
// bits 3-1 REPEAT =001, continue
|
||||
// bit 0 EN enable (0 for disable, 1 for enable)
|
||||
TIMG8->GEN_EVENT0.IMASK = 1; // hardware event published on Chan1
|
||||
TIMG8->COMMONREGS.CCLKCTL = 1;
|
||||
|
||||
ADC1->ULLMEM.GPRCM.CLKCFG = 0xA9000000; // ULPCLK
|
||||
// bits 31-24 key=0xA9
|
||||
// bit 5 CCONSTOP= 0 not continuous clock in stop mode
|
||||
// bit 4 CCORUN= 0 not continuous clock in run mode
|
||||
// bit 1-0 0=ULPCLK,1=SYSOSC,2=HFCLK
|
||||
ADC1->ULLMEM.CLKFREQ = 7; // 40 to 48 MHz
|
||||
ADC1->ULLMEM.CTL0 = 0x03010000;
|
||||
// bits 26-24 = 011 divide by 8
|
||||
// bit 16 PWRDN=1 for manual, =0 power down on completion, if no pending trigger
|
||||
// bit 0 ENC=1 enable (1 to 0 will end conversion)
|
||||
ADC1->ULLMEM.CTL1 = 0x00000001;
|
||||
// bits 30-28 =0 no shift
|
||||
// bits 26-24 =0 no averaging
|
||||
// bit 20 SAMPMODE=0 timer triggers
|
||||
// bits 17-16 CONSEQ=01 ADC at start will be sampled once, 10 for repeated sampling
|
||||
// bit 8 SC=0 for stop, =1 to software start
|
||||
// bit 0 TRIGSRC=1 timer trigger
|
||||
ADC1->ULLMEM.CTL2 = 0x00000000;
|
||||
// bits 28-24 ENDADD (which MEMCTL to end)
|
||||
// bits 20-16 STARTADD (which MEMCTL to start)
|
||||
// bits 15-11 SAMPCNT (for DMA)
|
||||
// bit 10 FIFOEN=0 disable FIFO
|
||||
// bit 8 DMAEN=0 disable DMA
|
||||
// bits 2-1 RES=0 for 12 bit (=1 for 10bit,=2for 8-bit)
|
||||
// bit 0 DF=0 unsigned formant (1 for signed, left aligned)
|
||||
ADC1->ULLMEM.MEMCTL[0] = reference+channel;
|
||||
// bit 28 WINCOMP=0 disable window comparator
|
||||
// bit 24 TRIG trigger policy, =0 for auto next, =1 for next requires trigger
|
||||
// bit 20 BCSEN=0 disable burn out current
|
||||
// bit 16 = AVGEN =0 for no averaging
|
||||
// bit 12 = STIME=0 for SCOMP0
|
||||
// bits 9-8 VRSEL = 10 for internal VREF,(00 for VDDA)
|
||||
// bits 4-0 channel = 0 to 7 available
|
||||
ADC1->ULLMEM.SCOMP0 = 0x64; // sample clocks
|
||||
ADC1->ULLMEM.SCOMP1 = 0x32; // sample clocks
|
||||
if(reference == ADCVREF_INT){
|
||||
VREF->CLKSEL = 0x00000008; // bus clock
|
||||
VREF->CLKDIV = 0; // divide by 1
|
||||
VREF->CTL0 = 0x0001;
|
||||
// bit 8 SHMODE = off
|
||||
// bit 7 BUFCONFIG=0 for 2.4 (=1 for 1.4)
|
||||
// bit 0 is enable
|
||||
VREF->CTL2 = 0;
|
||||
// bits 31-16 HCYCLE=0
|
||||
// bits 15-0 SHCYCLE=0
|
||||
while((VREF->CTL1&0x01)==0){}; // wait for VREF to be ready
|
||||
}
|
||||
ADC1->ULLMEM.FSUB_0 = 0x00000001; // subscribe to chan 1
|
||||
ADC1->ULLMEM.CPU_INT.IMASK = 0x00000100; //MEMRESIFG0
|
||||
ADC1->ULLMEM.CTL0 |= 1; // start
|
||||
|
||||
NVIC->ISER[0] = 1 << 5; // ADC1 interrupt
|
||||
NVIC->IP[1] = (NVIC->IP[1]&(~0x0000FF00))|(priority<<14); // set priority (bits 15,14) IRQ 5
|
||||
|
||||
TIMG8->COUNTERREGS.CTRCTL |= 0x01;
|
||||
}
|
||||
124
inc/ADCTimer.h
Normal file
@@ -0,0 +1,124 @@
|
||||
/*!
|
||||
* @defgroup ADC
|
||||
* @brief Analog to digital conversion
|
||||
<table>
|
||||
<caption id="ADCpinsT">ADC pins on the MSPM0G3507</caption>
|
||||
<tr><th>Pin <th>ADC channel<th>Sensor
|
||||
<tr><td>PA27 <td>ADC0 channel 0 <td>J1.8 also MKII light interrupt
|
||||
<tr><td>PA26 <td>ADC0 channel 1 <td>J1.6 MKII microphone in
|
||||
<tr><td>PA25 <td>ADC0 channel 2 <td>J1.2 MKII Joystick X
|
||||
<tr><td>PA24 <td>ADC0 channel 3 <td>J3.27 ***free***
|
||||
<tr><td>PB25 <td>ADC0 channel 4 <td>J19.7 (insert 0ohm R74, no U3 OPA2365)
|
||||
<tr><td>PB24 <td>ADC0 channel 5 <td>J1.5 also MKII joystick select button
|
||||
<tr><td>PB20 <td>ADC0 channel 6 <td>J4.36 ***free***
|
||||
<tr><td>PA22 <td>ADC0 channel 7 <td>J24 MKII Accelerometer Y
|
||||
</table>
|
||||
* @{*/
|
||||
/**
|
||||
* @file ADCTimer.h
|
||||
* @brief Initialize 12-bit ADC0
|
||||
* @details ADC input, timer trigger, 12-bit conversion<br>
|
||||
* The ADC allows two possible references: 2.5V or 3.3V.<br>
|
||||
* The internal 2.5V reference is lower noise, but limits the range to 0 to 2.5V.<br>
|
||||
* The other possibility is to use the analog voltage supply at 3.3V,
|
||||
* making the ADC range 0 to 3.3V. In this driver, the 3.3V range is selected.
|
||||
* There are several configurations (each with initialization and a
|
||||
* read ADC with software trigger, busy-wait function)<br>
|
||||
|
||||
* @version ECE319K v1.3
|
||||
* @author Daniel Valvano and Jonathan Valvano
|
||||
* @copyright Copyright 2025 by Jonathan W. Valvano, valvano@mail.utexas.edu,
|
||||
* @warning AS-IS
|
||||
* @note For more information see http://users.ece.utexas.edu/~valvano/
|
||||
* @date May 23, 2025
|
||||
<table>
|
||||
<caption id="ADCpins2T">ADC pins on the MSPM0G3507</caption>
|
||||
<tr><th>Pin <th>ADC channel<th>Sensor
|
||||
<tr><td>PA27 <td>ADC0 channel 0 <td>J1.8 also MKII light interrupt
|
||||
<tr><td>PA26 <td>ADC0 channel 1 <td>J1.6 MKII microphone in
|
||||
<tr><td>PA25 <td>ADC0 channel 2 <td>J1.2 MKII Joystick X
|
||||
<tr><td>PA24 <td>ADC0 channel 3 <td>J3.27 ***free***
|
||||
<tr><td>PB25 <td>ADC0 channel 4 <td>J19.7 (insert 0ohm R74, no U3 OPA2365)
|
||||
<tr><td>PB24 <td>ADC0 channel 5 <td>J1.5 also MKII joystick select button
|
||||
<tr><td>PB20 <td>ADC0 channel 6 <td>J4.36 ***free***
|
||||
<tr><td>PA22 <td>ADC0 channel 7 <td>J24 MKII Accelerometer Y
|
||||
<tr><td>PA15 <td>ADC1 channel 0 <td>J3.30 (also DACout)
|
||||
<tr><td>PA16 <td>ADC1 channel 1 <td>J3.29 ***free***
|
||||
<tr><td>PA17 <td>ADC1 channel 2 <td>J3.28 ***free***
|
||||
<tr><td>PA18 <td>ADC1 channel 3 <td>J3.26 MKII Joystick Y
|
||||
<tr><td>PB17 <td>ADC1 channel 4 <td>J2.18 ***free***
|
||||
<tr><td>PB18 <td>ADC1 channel 5 <td>J3.25 MKII Accelerometer Z
|
||||
<tr><td>PB19 <td>ADC1 channel 6 <td>J3.23 MKII Accelerometer X
|
||||
<tr><td>PA21 <td>ADC1 channel 7 <td>J17.8 (insert R20, remove R3)
|
||||
</table>
|
||||
****note to students****<br>
|
||||
the data sheet says the ADC does not work when clock is 80 MHz
|
||||
however, the ADC seems to work on my boards at 80 MHz
|
||||
I suggest you try 80MHz, but if it doesn't work, switch to 40MHz
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef __ADCTimer_H__
|
||||
#define __ADCTimer_H__
|
||||
#include <ti/devices/msp/msp.h>
|
||||
|
||||
/**
|
||||
* \brief using ADCVREF_INT means choose internal 2.5V reference for accuracy
|
||||
*/
|
||||
#define ADCVREF_INT 0x200
|
||||
/**
|
||||
* \brief using ADCVREF_EXT means choose external reference not tested
|
||||
*/
|
||||
#define ADCVREF_EXT 0x100
|
||||
/**
|
||||
* \brief using ADCVREF_VDDA means choose power line 3.3V reference for 0 to 3.3V range. This is the mode we use in ECE319K
|
||||
*/
|
||||
#define ADCVREF_VDDA 0x000
|
||||
/**
|
||||
* Initialize ADC0 for Timer G0 triggered sampling<br>
|
||||
* Assuming 80 MHz bus, the sampling is 40MHz/period/prescale<br>
|
||||
* Pin channel<br>
|
||||
* PA27 0 <br>
|
||||
* PA26 1 <br>
|
||||
* PA25 2 <br>
|
||||
* PA24 3 <br>
|
||||
* PB25 4 <br>
|
||||
* PB24 5 <br>
|
||||
* PB20 6 <br>
|
||||
* PA22 7
|
||||
* @param channel is the 0 to 7
|
||||
* @param reference is ADCVREF_INT, ADCVREF_EXT, ADCVREF_VDDA
|
||||
* @param period is 16-bit period in bus cycles on Timer G0
|
||||
* @param prescale is 8-bit prescale in bus cycles on Timer G0
|
||||
* @param priority is 0 to 3 for ADC interrupts
|
||||
* @return none
|
||||
* @note uses internal pub/sub channel 1
|
||||
* @brief Initialize 12-bit ADC0
|
||||
*/
|
||||
void ADC0_TimerG0_Init(uint32_t channel, uint32_t reference,uint16_t period, uint32_t prescale, uint32_t priority);
|
||||
|
||||
/**
|
||||
* Initialize ADC1 for Timer G8 triggered sampling<br>
|
||||
* Assuming 80 MHz bus, the sampling is 40MHz/period/prescale<br>
|
||||
* Pin channel<br>
|
||||
* PA15 0 <br>
|
||||
* PA16 1 <br>
|
||||
* PA17 2 <br>
|
||||
* PA18 3 <br>
|
||||
* PB17 4 <br>
|
||||
* PB18 5 <br>
|
||||
* PB19 6 <br>
|
||||
* PA21 7
|
||||
* @param channel is the 0 to 7
|
||||
* @param reference is ADCVREF_INT, ADCVREF_EXT, ADCVREF_VDDA
|
||||
* @param period is 16-bit period in bus cycles on Timer G8
|
||||
* @param prescale is 8-bit prescale in bus cycles on Timer G8
|
||||
* @param priority is 0 to 3 for ADC interrupts
|
||||
* @return none
|
||||
* @note uses internal pub/sub channel 2
|
||||
* @brief Initialize 12-bit ADC1
|
||||
*/
|
||||
void ADC1_TimerG8_Init(uint32_t channel, uint32_t reference,uint16_t period, uint32_t prescale, uint32_t priority);
|
||||
|
||||
|
||||
#endif // __ADCTimer_H__
|
||||
/** @}*/
|
||||
475
inc/Arabic.c
Normal file
@@ -0,0 +1,475 @@
|
||||
// Arabic.h
|
||||
// Runs on MSPM0
|
||||
// Arabic output to ST7735R
|
||||
// Amina Meddad and Jonathan Valvano
|
||||
// 8/21/2024
|
||||
|
||||
#include "../inc/Arabic.h"
|
||||
#include "../inc/ST7735.h"
|
||||
|
||||
// n wide by 16 tall 16-bit images
|
||||
// width n is encoded in array name/number
|
||||
const uint16_t alif4[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x3186, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF
|
||||
};
|
||||
const uint16_t ayh11[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0861,
|
||||
0x6B6D, 0x73AE, 0x4208, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xE71C, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0841, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x5AEB, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x2104, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0841, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x3186, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x2124, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x632C, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t baa13[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x10A2, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xAD55,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xD6BA, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000,
|
||||
0x9CD3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0x2965, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x8C51, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t daad16[] = {
|
||||
0xFFFF, 0x0000, 0x0000, 0x0000, 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0xA514, 0xD6BA, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x1082, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x31A6, 0x4208, 0x4208, 0x4208, 0x4208, 0x4208, 0x4208, 0x52AA, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x39C7, 0x39E7, 0x39E7, 0x39C7, 0x0000, 0x31A6,
|
||||
0xFFFF, 0x8C51, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xAD75, 0xFFFF, 0xFFFF, 0xFFFF, 0x5ACB, 0x0000, 0x0000, 0x0000, 0x4A49, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x3186, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t daal8[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x10A2, 0x4A49, 0x18C3, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xA534, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0861, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x738E, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t dhaa14[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9492, 0x8C51,
|
||||
0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8410, 0xEF5D, 0xFFFF, 0xFFFF, 0xE73C, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8C71, 0xFFFF, 0xFFFF, 0xEF7D, 0xDEDB, 0xD69A, 0x630C, 0x0000, 0x8430, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x39C7, 0x8C71, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xD6BA, 0x0000, 0x0000, 0x2104, 0xCE79, 0xBDF7,
|
||||
0x528A, 0x0000, 0xB596, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0x2104, 0x0000, 0x0000, 0x0000, 0x4208,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0xCE79, 0x8430, 0xE73C, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0xEF5D, 0x0861, 0xDEDB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x9492, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE79, 0x0000,
|
||||
0xDEFB, 0xFFFF, 0xCE59, 0xF79E, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8C51, 0x0000, 0xBDF7, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8410, 0x18E3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9CF3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t dhaal8[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x4208, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xA534, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x7BCF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0861, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x630C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x632C, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x31A6, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t faa16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x738E, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18E3, 0x7BCF, 0xF7BE, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC618, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0x2965, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xC638, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFDF, 0x630C, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x1082, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t ghayh11[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0861,
|
||||
0x6B6D, 0x73AE, 0x4208, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xE71C, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0841, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x5AEB, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x2104, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0841, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x3186, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x2124, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x632C, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t haa8[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0xE71C, 0xFFFF, 0xFFFF, 0x18E3, 0xFFFF, 0xFFFF, 0xA534, 0x0000, 0x94B2, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xAD75, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC638, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t ha11[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x5ACB, 0x4A69, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x39C7, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x4228, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x632C, 0xF7BE, 0xFFFF, 0xE73C, 0x39C7, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x5AEB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xA534, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0xFFFF,
|
||||
0xD6BA, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x8410, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0x0000, 0x0000, 0x0000, 0x2945, 0x9492, 0x0020, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t jeem12[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xA514, 0x18C3, 0xE71C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x2945, 0xEF7D, 0xFFFF, 0xF79E, 0x6B4D, 0x0000, 0xE73C, 0xFFFF,
|
||||
0xFFFF, 0xAD75, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEF7D, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xAD75, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x18C3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000,
|
||||
0x0000, 0x0861, 0xC618, 0x2104, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t kaaf12[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xB5B6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x3186, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xD69A, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0x2945, 0xE71C, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEF5D, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0861, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t khaa12[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xF79E, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0861, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x9CF3, 0x8C71, 0xFFFF, 0xFFFF, 0x0000, 0x9CF3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x2124, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x632C, 0xFFFF, 0xFFFF, 0xFFFF, 0x1082, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t laam12[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xB596, 0xD6BA, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE73C, 0x0000, 0x3186, 0xFFFF, 0xFFFF, 0xDEFB, 0x0000,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x5ACB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x8C51, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x738E, 0xFFFF, 0xFFFF, 0xFFFF, 0x0020, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x738E, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x738E, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x738E, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x738E, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x738E, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x738E, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x738E, 0xB596, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xB596, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFDF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t meem9[] = {
|
||||
0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE79, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x39E7, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xBDF7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x2104, 0xFFFF, 0x39E7, 0x0000, 0x1082, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x3186, 0x0000, 0x0000, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x39E7, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t noon12[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xA514, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0xB5B6, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x73AE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9492, 0x0020, 0xFFFF, 0xFFFF, 0xF79E, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9492, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x39E7, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0xA514, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x2965, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8430, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC638, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t qaaf12[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC638, 0x0000, 0x1082, 0x4208, 0x10A2, 0x0000, 0x0000, 0x0000, 0x2945, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xC618, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE79,
|
||||
0x0000, 0x0861, 0x0000, 0xFFFF, 0xFFFF, 0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x94B2, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0861, 0x0000, 0xFFFF, 0x0841, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xDEFB, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
|
||||
0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFDF, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xDEFB,
|
||||
0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t raa9[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x73AE, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x528A, 0x0000, 0x2104, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xD6BA, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0861, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t saad16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x6B4D, 0x4208, 0x632C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE79, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x5AEB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xEF7D, 0xDEDB, 0xDEDB, 0xDEDB, 0xDEDB, 0xDEDB, 0xDEDB, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x6B4D, 0x0000, 0xFFFF, 0xD69A, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xF79E, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xCE79, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xAD55, 0x6B4D, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t seen16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10A2, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0xD6BA, 0xFFFF, 0xFFFF, 0x7BCF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xDEDB, 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0861, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xE73C, 0xFFFF, 0xFFFF, 0xDEFB, 0xCE79, 0xD6BA, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xDEDB, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFDF, 0x0841, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xF79E, 0xFFFF, 0xFFDF, 0x0000, 0xFFFF, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t sheen16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFDF, 0x738E, 0x4208, 0x39E7, 0x632C, 0xD6BA, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0x0000, 0x1082, 0x0000, 0x0000, 0x2124, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xB5B6, 0x0000, 0xDEDB, 0xFFFF, 0xFFFF, 0xFFFF, 0xDEDB, 0x2945, 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xC638, 0x39C7, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0841, 0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x39E7, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x10A2, 0x0000, 0x18E3, 0x73AE, 0x1082, 0x0000, 0x0000, 0xBDF7,
|
||||
0xFFFF, 0x7BCF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0x0000, 0x39C7, 0x630C, 0x0000, 0x630C, 0x6B4D, 0x0000, 0xAD55,
|
||||
0xFFFF, 0xFFFF, 0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x4208, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0xF79E, 0xFFFF, 0x0000, 0xAD55,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x4A49, 0xFFFF, 0xFFFF, 0x5AEB, 0xC618, 0xFFFF, 0x0000, 0xAD55,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x39E7, 0xAD55, 0xDEDB, 0x7BCF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8430, 0x0000, 0x7BCF, 0x0000, 0x1082, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xD69A, 0x9492, 0xC638, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEF7D, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8C71, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t ta14[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x5AEB, 0xBDF7, 0xFFFF, 0xFFFF, 0xFFFF, 0x2104, 0x0000, 0x0000, 0x8430, 0x7BEF, 0x7BEF, 0x7BEF, 0x8410, 0x39C7,
|
||||
0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x39E7,
|
||||
0xA534, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC618, 0x0000, 0xEF7D, 0xFFFF,
|
||||
0xFFFF, 0xAD75, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xDEDB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x39C7, 0xE71C, 0xD69A, 0x8C71, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x10A2, 0x0000,
|
||||
0x6B4D, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xD69A, 0xCE79, 0xFFFF, 0x630C,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t thaa14[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x9CF3, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE79, 0x0000, 0x0000, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE,
|
||||
0x3186, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0861, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xEF5D, 0x3186, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xB5B6, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xF79E, 0xFFFF, 0xFFFF, 0x632C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0x0861, 0x0861, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8430,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
|
||||
const uint16_t twe14[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9492, 0x8C51,
|
||||
0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8410, 0xEF5D, 0xFFFF, 0xFFFF, 0xE73C, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8C71, 0xFFFF, 0xFFFF, 0xEF7D, 0xDEDB, 0xD69A, 0x630C, 0x0000, 0x8430, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x39C7, 0x8C71, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xD6BA, 0x0000, 0x0000, 0x2104, 0xCE79, 0xBDF7,
|
||||
0x528A, 0x0000, 0xB596, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0x2104, 0x0000, 0x0000, 0x0000, 0x4208,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0xCE79, 0x8430, 0xE73C, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE79, 0x0000,
|
||||
0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8C51, 0x0000, 0xBDF7, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8410, 0x18E3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9CF3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t waaw11[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xDEDB, 0x8430, 0x8430, 0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x5ACB, 0x0000, 0x1082, 0x0000, 0x0000, 0x630C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xB5B6, 0x528A, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x94B2, 0x0000, 0xA514, 0xFFFF, 0xFFFF, 0xFFFF, 0xEF7D, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xBDF7, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xB5B6, 0x0000, 0xE73C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0xB596, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8410, 0x0000, 0xBDF7,
|
||||
0x2965, 0xA534, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9492, 0x1082, 0xF7BE, 0x0000, 0xC638, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE73C,
|
||||
0x0841, 0xB5B6, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t yaa14[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x9CD3, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x528A, 0x52AA,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0xD6BA, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xF7BE, 0xFFFF, 0xD6BA, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x5ACB, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x9CD3, 0x2965, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC618, 0x2965, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x73AE, 0x0000, 0x0000, 0x0000, 0x0000, 0x94B2, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x2104, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEF5D, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x73AE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x39E7, 0x6B4D, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0020, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
const uint16_t zaa9[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0841, 0xFFFF, 0xFFFF, 0xAD55, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xEF5D,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
|
||||
const uint16_t space8[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
|
||||
const uint16_t dot8[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
|
||||
|
||||
|
||||
const uint16_t *ArabicFont[]= {0,alif4,ayh11,baa13 ,daad16,daal8 ,dhaa14 ,dhaal8 ,faa16 ,ghayh11 ,haa8 ,ha11,jeem12 ,kaaf12 ,khaa12 ,laam12 ,meem9 ,noon12 ,qaaf12 ,raa9 ,saad16 ,seen16 ,sheen16 ,ta14 ,thaa14 ,twe14 ,waaw11 ,yaa14 ,zaa9, space8, dot8 };
|
||||
const uint32_t ArabicWidth[]= {0,4,11,13,16,8 ,14 ,8 ,16 ,11 ,8 ,11,12 ,12 ,12 ,12 ,9 ,12 ,12 ,9 ,16 ,16 ,16 ,14 ,14 ,14 ,11 ,14 ,9, 8, 8 };
|
||||
|
||||
uint32_t ArabicX,ArabicY; // cursor
|
||||
//********Arabic_SetCursor*****************
|
||||
// Move the cursor to the desired X- and Y-position. The
|
||||
// next character will be printed here. X=0 is the leftmost
|
||||
// column. Y=0 is the top row.
|
||||
// inputs: newX new X-position of the cursor (0<=newX<=127)
|
||||
// newY new Y-position of the cursor (0<=newY<=159)
|
||||
// outputs: none
|
||||
void Arabic_SetCursor(uint32_t newX, uint32_t newY){
|
||||
if((newX > 127) || (newY > 159)){ // bad input
|
||||
return; // do nothing
|
||||
}
|
||||
ArabicX = newX;
|
||||
ArabicY = newY;
|
||||
}
|
||||
// *************** Arabic_OutChar ********************
|
||||
// Output one character to the LCD
|
||||
// Position determined by Arabic_SetCursor command
|
||||
// Inputs: 8-bit Arabic character
|
||||
// Outputs: none
|
||||
void Arabic_OutChar(Arabic_t ch){
|
||||
uint32_t w = ArabicWidth[ch];
|
||||
if((ArabicX+w)>127){ // won't fit
|
||||
ArabicX = 0;
|
||||
ArabicY += 16;
|
||||
if(ArabicY>159){
|
||||
ArabicY = 15;
|
||||
}
|
||||
}
|
||||
ST7735_DrawBitmap(ArabicX,ArabicY,ArabicFont[ch],w,16);
|
||||
ArabicX += w;
|
||||
}
|
||||
//********Arabic_OutString*****************
|
||||
// Print a string of Arabic characters to the ST7735 LCD.
|
||||
// Position determined by Arabic_SetCursor command
|
||||
// The string will automatically wrap.
|
||||
// inputs: ptr pointer to end-terminated Arabic string
|
||||
// outputs: none
|
||||
void Arabic_OutString(Arabic_t *ptr){
|
||||
while(*ptr != null){
|
||||
Arabic_OutChar(*ptr);
|
||||
ptr = ptr + 1;
|
||||
}
|
||||
}
|
||||
|
||||
227
inc/Arabic.h
Normal file
@@ -0,0 +1,227 @@
|
||||
/*!
|
||||
* @defgroup ST7735
|
||||
* @brief ST7735 LCD
|
||||
<table>
|
||||
<caption id="ArabicAdafruitLCDpins">Adafruit ST7735R pins </caption>
|
||||
<tr><th>Pin <th>Connection <th>Description
|
||||
<tr><td>10<td>+3.3<td>Backlight
|
||||
<tr><td>9 <td>nc <td>SPI1 MISO (used for SDC)
|
||||
<tr><td>8 <td>PB9 <td>SPI1 SCLK clock out
|
||||
<tr><td>7 <td>PB8 <td>SPI1 PICO data out
|
||||
<tr><td>6 <td>PB6 <td>SPI1 CS0=TFT_CS
|
||||
<tr><td>5 <td>nc <td>CARD_CS (used for SDC)
|
||||
<tr><td>4 <td>PA13<td>Data/Command(GPIO), high for data, low for command
|
||||
<tr><td>3 <td>PB15<td>RESET, low to reset, (GPIO)
|
||||
<tr><td>2 <td>+3.3<td>VCC
|
||||
<tr><td>1 <td>Gnd <td>ground
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<caption id="Arabicwidehkpins">wide.hk ST7735R with ADXL345 accelerometer pins </caption>
|
||||
<tr><th>Pin<th>Connection
|
||||
<tr><td>VCC <td> +3.3 V
|
||||
<tr><td>GND <td> Ground
|
||||
<tr><td>!SCL <td> SPI1 SCLK: PB9 clock
|
||||
<tr><td>!SDA <td> SPI1 PICO: PB8 MOSI SPI data from microcontroller to TFT or SDC
|
||||
<tr><td>DC <td> GPIO PA13 TFT data/command
|
||||
<tr><td>RES <td> GPIO PB15 TFT reset
|
||||
<tr><td>CS <td> SPI1 CS0: PB6 TFT_CS, active low to enable TFT
|
||||
<tr><td>*CS <td> (NC) SDC_CS, active low to enable SDC
|
||||
<tr><td>MISO <td> (NC) MISO SPI data from SDC to microcontroller
|
||||
<tr><td>SDA <td> (NC) I2C data for ADXL345 accelerometer
|
||||
<tr><td>SCL <td> (NC) I2C clock for ADXL345 accelerometer
|
||||
<tr><td>SDO <td> (NC) I2C alternate address for ADXL345 accelerometer
|
||||
<tr><td>Backlight + - Light, backlight connected to +3.3 V
|
||||
</table>
|
||||
|
||||
|
||||
<table>
|
||||
<caption id="Arabicwidehkpins335">wide.hk ST7735R with ADXL335 accelerometer pins </caption>
|
||||
<tr><th>Pin<th>Connection
|
||||
<tr><td>VCC <td> +3.3 V
|
||||
<tr><td>GND <td> Ground
|
||||
/<tr><td>!SCL<td> SPI1 SCLK: PB9
|
||||
<tr><td>!SDA <td> SPI1 PICO: PB8 MOSI SPI data from microcontroller to TFT or SDC
|
||||
<tr><td>DC <td> GPIO PA13 TFT data/command
|
||||
<tr><td>RES <td> GPIO PB15 TFT reset
|
||||
<tr><td>CS <td> SPI1 CS0: PB6 TFT_CS, active low to enable TFT
|
||||
<tr><td>*CS <td> (NC) SDC_CS, active low to enable SDC
|
||||
<tr><td>MISO <td> (NC) MISO SPI data from SDC to microcontroller
|
||||
<tr><td>X<td> (NC) analog input X-axis from ADXL335 accelerometer
|
||||
<tr><td>Y<td> (NC) analog input Y-axis from ADXL335 accelerometer
|
||||
<tr><td>Z<td> (NC) analog input Z-axis from ADXL335 accelerometer
|
||||
<tr><td>Backlight + <td> Light, backlight connected to +3.3 V
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<caption id="ArabicHiLetgopins">HiLetgo ST7735 TFT and SDC pins </caption>
|
||||
<tr><th>signal<th>Pin<th>Connection
|
||||
<tr><td>LED- <td>16<td>TFT, to ground
|
||||
<tr><td>LED+ <td>15<td>TFT, to +3.3 V
|
||||
<tr><td>SD_CS <td>14<td>SDC, to chip select
|
||||
<tr><td>MOSI <td>13<td>SDC, to MOSI
|
||||
<tr><td>MISO <td>12<td>SDC, to MISO
|
||||
<tr><td>SCK <td>11<td>SDC, to serial clock
|
||||
<tr><td>CS <td>10<td>TFT, to PB6 SPI1 CS0
|
||||
<tr><td>SCL <td> 9<td>TFT, to PB9 SPI1 SCLK
|
||||
<tr><td>SDA <td> 8<td>TFT, to PB8 MOSI SPI1 PICO
|
||||
<tr><td>A0 <td> 7<td>TFT, to PA13 Data/Command, high for data, low for command
|
||||
<tr><td>RESET <td> 6<td>TFT, to PB15 reset (GPIO), low to reset
|
||||
<tr><td>NC <td>3,4,5<td>not connected
|
||||
<tr><td>VCC <td> 2<td>to +3.3 V
|
||||
<tr><td>GND <td> 1<td>to ground
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<caption id="ArabicTyenazapins">Tyenaza Tyenazaqhf72mi9s3 pins </caption>
|
||||
<tr><th>signal<th>Pin<th>Connection
|
||||
<tr><td>LED <td>8<td> to +3.3 V
|
||||
<tr><td>SCK <td>7<td>SCLK to PB9 SPI1 SCLK
|
||||
<tr><td>SDA <td>6<td>MOSI, to PB8 SPI1 PICO
|
||||
<tr><td>A0 <td>5<td>Data/Command to PA13 (GPIO), high for data, low for command
|
||||
<tr><td>RESET <td>4<td>to PB15 (GPIO), low to reset
|
||||
<tr><td>CS <td>3<td>to PB6 SPI1 CS0:
|
||||
<tr><td>Gnd <td>2<td>to ground
|
||||
<tr><td>VCC <td>1<td>to +3.3 V
|
||||
</table>
|
||||
* @{*/
|
||||
/**
|
||||
* @file Arabic.h
|
||||
* @brief Arabic output to LCD
|
||||
* @details Arabic character/string output to ST7735R display<br>
|
||||
* @version ECE319K v1.0
|
||||
* @author Amina Meddad and Jonathan Valvano
|
||||
* @copyright Copyright 2024 by Jonathan W. Valvano, valvano@mail.utexas.edu,
|
||||
* @warning AS-IS
|
||||
* @note For more information see http://users.ece.utexas.edu/~valvano/
|
||||
* @date August 14, 2024
|
||||
<table>
|
||||
<caption id="ArabicAdafruitLCDpins2">Adafruit ST7735R pins </caption>
|
||||
<tr><th>Pin <th>Connection <th>Description
|
||||
<tr><td>10<td>+3.3<td>Backlight
|
||||
<tr><td>9 <td>nc <td>SPI1 MISO (used for SDC)
|
||||
<tr><td>8 <td>PB9 <td>SPI1 SCLK clock out
|
||||
<tr><td>7 <td>PB8 <td>SPI1 PICO data out
|
||||
<tr><td>6 <td>PB6 <td>SPI1 CS0=TFT_CS
|
||||
<tr><td>5 <td>nc <td>CARD_CS (used for SDC)
|
||||
<tr><td>4 <td>PA13<td>Data/Command(GPIO), high for data, low for command
|
||||
<tr><td>3 <td>PB15<td>RESET, low to reset, (GPIO)
|
||||
<tr><td>2 <td>+3.3<td>VCC
|
||||
<tr><td>1 <td>Gnd <td>ground
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<caption id="Arabicwidehkpins2">wide.hk ST7735R with ADXL345 accelerometer pins </caption>
|
||||
<tr><th>Pin<th>Connection
|
||||
<tr><td>VCC <td> +3.3 V
|
||||
<tr><td>GND <td> Ground
|
||||
<tr><td>!SCL <td> SPI1 SCLK: PB9 clock
|
||||
<tr><td>!SDA <td> SPI1 PICO: PB8 MOSI SPI data from microcontroller to TFT or SDC
|
||||
<tr><td>DC <td> GPIO PA13 TFT data/command
|
||||
<tr><td>RES <td> GPIO PB15 TFT reset
|
||||
<tr><td>CS <td> SPI1 CS0: PB6 TFT_CS, active low to enable TFT
|
||||
<tr><td>*CS <td> (NC) SDC_CS, active low to enable SDC
|
||||
<tr><td>MISO <td> (NC) MISO SPI data from SDC to microcontroller
|
||||
<tr><td>SDA <td> (NC) I2C data for ADXL345 accelerometer
|
||||
<tr><td>SCL <td> (NC) I2C clock for ADXL345 accelerometer
|
||||
<tr><td>SDO <td> (NC) I2C alternate address for ADXL345 accelerometer
|
||||
<tr><td>Backlight + - Light, backlight connected to +3.3 V
|
||||
</table>
|
||||
|
||||
|
||||
<table>
|
||||
<caption id="Arabicwidehkpins3352">wide.hk ST7735R with ADXL335 accelerometer pins </caption>
|
||||
<tr><th>Pin<th>Connection
|
||||
<tr><td>VCC <td> +3.3 V
|
||||
<tr><td>GND <td> Ground
|
||||
/<tr><td>!SCL<td> SPI1 SCLK: PB9
|
||||
<tr><td>!SDA <td> SPI1 PICO: PB8 MOSI SPI data from microcontroller to TFT or SDC
|
||||
<tr><td>DC <td> GPIO PA13 TFT data/command
|
||||
<tr><td>RES <td> GPIO PB15 TFT reset
|
||||
<tr><td>CS <td> SPI1 CS0: PB6 TFT_CS, active low to enable TFT
|
||||
<tr><td>*CS <td> (NC) SDC_CS, active low to enable SDC
|
||||
<tr><td>MISO <td> (NC) MISO SPI data from SDC to microcontroller
|
||||
<tr><td>X<td> (NC) analog input X-axis from ADXL335 accelerometer
|
||||
<tr><td>Y<td> (NC) analog input Y-axis from ADXL335 accelerometer
|
||||
<tr><td>Z<td> (NC) analog input Z-axis from ADXL335 accelerometer
|
||||
<tr><td>Backlight + <td> Light, backlight connected to +3.3 V
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<caption id="ArabicHiLetgopins2">HiLetgo ST7735 TFT and SDC pins </caption>
|
||||
<tr><th>signal<th>Pin<th>Connection
|
||||
<tr><td>LED- <td>16<td>TFT, to ground
|
||||
<tr><td>LED+ <td>15<td>TFT, to +3.3 V
|
||||
<tr><td>SD_CS <td>14<td>SDC, to chip select
|
||||
<tr><td>MOSI <td>13<td>SDC, to MOSI
|
||||
<tr><td>MISO <td>12<td>SDC, to MISO
|
||||
<tr><td>SCK <td>11<td>SDC, to serial clock
|
||||
<tr><td>CS <td>10<td>TFT, to PB6 SPI1 CS0
|
||||
<tr><td>SCL <td> 9<td>TFT, to PB9 SPI1 SCLK
|
||||
<tr><td>SDA <td> 8<td>TFT, to PB8 MOSI SPI1 PICO
|
||||
<tr><td>A0 <td> 7<td>TFT, to PA13 Data/Command, high for data, low for command
|
||||
<tr><td>RESET <td> 6<td>TFT, to PB15 reset (GPIO), low to reset
|
||||
<tr><td>NC <td>3,4,5<td>not connected
|
||||
<tr><td>VCC <td> 2<td>to +3.3 V
|
||||
<tr><td>GND <td> 1<td>to ground
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<caption id="ArabicTyenazapins2">Tyenaza Tyenazaqhf72mi9s3 pins </caption>
|
||||
<tr><th>signal<th>Pin<th>Connection
|
||||
<tr><td>LED <td>8<td> to +3.3 V
|
||||
<tr><td>SCK <td>7<td>SCLK to PB9 SPI1 SCLK
|
||||
<tr><td>SDA <td>6<td>MOSI, to PB8 SPI1 PICO
|
||||
<tr><td>A0 <td>5<td>Data/Command to PA13 (GPIO), high for data, low for command
|
||||
<tr><td>RESET <td>4<td>to PB15 (GPIO), low to reset
|
||||
<tr><td>CS <td>3<td>to PB6 SPI1 CS0:
|
||||
<tr><td>Gnd <td>2<td>to ground
|
||||
<tr><td>VCC <td>1<td>to +3.3 V
|
||||
</table>
|
||||
<br>
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef _ARABIC_
|
||||
#define _ARABIC_
|
||||
#include <stdint.h>
|
||||
/**
|
||||
* \brief Arabic character set
|
||||
*/
|
||||
typedef enum {null,alif,ayh,baa,daad,daal,dhaa,dhaal,faa,ghayh,haa,ha,jeem,kaaf,khaa,laam,meem,noon,qaaf,raa,saad,seen,sheen,ta,thaa,twe,waaw,yaa,zaa,space,dot} Arabic_t;
|
||||
|
||||
/**
|
||||
* Move the cursor to the desired X- and Y-position. The
|
||||
* next character will be printed here. X=0 is the leftmost
|
||||
* column. Y=0 is the top row. *
|
||||
* @param none
|
||||
* @param newX new X-position of the cursor (0<=newX<=7)
|
||||
* @param newY new Y-position of the cursor (0<=newY<=9)
|
||||
* @return none
|
||||
* @brief Move Arabic cursor
|
||||
*/
|
||||
void Arabic_SetCursor(uint32_t newX, uint32_t newY);
|
||||
|
||||
/**
|
||||
* Output one Arabic character to the LCD
|
||||
* Position determined by Arabic_SetCursor command
|
||||
* Color set by ST7735_SetTextColor
|
||||
* @param ch 8-bit Arabic character
|
||||
* @return none
|
||||
* @brief Output an Arabic character
|
||||
*/
|
||||
void Arabic_OutChar(Arabic_t ch);
|
||||
|
||||
/**
|
||||
* Output an Arabic string to the LCD
|
||||
* Position determined by Arabic_SetCursor command
|
||||
* Color set by ST7735_SetTextColor.
|
||||
* The string will automatically wrap.
|
||||
* @param ptr pointer to null-terminated Arabic string
|
||||
* @return none
|
||||
* @brief Output an Arabic string
|
||||
*/
|
||||
void Arabic_OutString(Arabic_t *ptr);
|
||||
#endif
|
||||
/** @}*/
|
||||
|
||||
BIN
inc/Arabic/1024px-Arabic-script.png
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
inc/Arabic/16wide/alif16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
BIN
inc/Arabic/16wide/baa16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
19
inc/Arabic/16wide/baa16.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
const unsigned short baa16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x10A2, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xAD55, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xD6BA, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x9CD3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x2965, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8C51, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
|
||||
|
||||
BIN
inc/Arabic/16wide/daal16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
BIN
inc/Arabic/16wide/dhaal16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
BIN
inc/Arabic/16wide/ghayh16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
BIN
inc/Arabic/16wide/haa16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
19
inc/Arabic/16wide/haa16.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
const unsigned short haa16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x5ACB, 0x4A69, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x39C7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4228, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x632C, 0xF7BE, 0xFFFF, 0xE73C, 0x39C7, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x5AEB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xA534, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0xFFFF, 0xD6BA, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8410, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0x0000, 0x0000, 0x0000, 0x2945, 0x9492, 0x0020, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/16wide/haa32.bmp
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
inc/Arabic/16wide/haa8.bmp
Normal file
|
After Width: | Height: | Size: 246 B |
BIN
inc/Arabic/16wide/jeem16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
19
inc/Arabic/16wide/jeem16.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
const unsigned short jeem16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xA514, 0x18C3, 0xE71C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x2945, 0xEF7D, 0xFFFF, 0xF79E, 0x6B4D, 0x0000, 0xE73C, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xAD75, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEF7D, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xAD75, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x18C3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0861, 0xC618, 0x2104, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/16wide/jeem8.bmp
Normal file
|
After Width: | Height: | Size: 246 B |
BIN
inc/Arabic/16wide/khaa.bmp
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
inc/Arabic/16wide/khaa16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
19
inc/Arabic/16wide/khaa16.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
const unsigned short khaa16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF79E, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0861, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9CF3, 0x8C71, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x9CF3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x2124, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x632C, 0xFFFF, 0xFFFF, 0xFFFF, 0x1082, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
|
||||
|
||||
BIN
inc/Arabic/16wide/khaa8.bmp
Normal file
|
After Width: | Height: | Size: 246 B |
BIN
inc/Arabic/16wide/qaaf.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
BIN
inc/Arabic/16wide/raa16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
BIN
inc/Arabic/16wide/saad.bmp
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
18
inc/Arabic/16wide/saad16.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
const unsigned short saad16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x6B4D, 0x4208, 0x632C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE79, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x5AEB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xEF7D, 0xDEDB, 0xDEDB, 0xDEDB, 0xDEDB, 0xDEDB, 0xDEDB, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x6B4D, 0x0000, 0xFFFF, 0xD69A, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xF79E, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xCE79, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xAD55, 0x6B4D, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
BIN
inc/Arabic/16wide/taa16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
19
inc/Arabic/16wide/taa16.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
const unsigned short taa16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5AEB, 0xBDF7, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x2104, 0x0000, 0x0000, 0x8430, 0x7BEF, 0x7BEF, 0x7BEF, 0x8410, 0x39C7, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x39E7, 0xA534, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC618, 0x0000, 0xEF7D, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xAD75, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xDEDB, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x39C7, 0xE71C, 0xD69A, 0x8C71, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x10A2, 0x0000, 0x6B4D, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xD69A, 0xCE79, 0xFFFF, 0x630C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
|
||||
|
||||
BIN
inc/Arabic/16wide/thaa16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
19
inc/Arabic/16wide/thaa16.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
const unsigned short thaa16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9CF3, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xCE79, 0x0000, 0x0000, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0x3186, 0x0000, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0861, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xEF5D, 0x3186, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xB5B6, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF79E, 0xFFFF, 0xFFFF, 0x632C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0861, 0x0861, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8430, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/16wide/ttaa13.bmp
Normal file
|
After Width: | Height: | Size: 694 B |
BIN
inc/Arabic/16wide/zaa16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
BIN
inc/Arabic/Arabic.docx
Normal file
BIN
inc/Arabic/Arabic.jpg
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
inc/Arabic/BmpConvert16.exe
Executable file
BIN
inc/Arabic/alif4.bmp
Normal file
|
After Width: | Height: | Size: 246 B |
7
inc/Arabic/alif4.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
const unsigned short alif4[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x3186, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/ayh11.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
14
inc/Arabic/ayh11.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
const unsigned short ayh11[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0861,
|
||||
0x6B6D, 0x73AE, 0x4208, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xE71C, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0841, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x5AEB, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x2104, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0841, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x3186, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x2124, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x632C, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/baa13.bmp
Normal file
|
After Width: | Height: | Size: 694 B |
16
inc/Arabic/baa13.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
const unsigned short baa13[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x10A2, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xAD55,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xD6BA, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000,
|
||||
0x9CD3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0x2965, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x8C51, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/daad16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
19
inc/Arabic/daad16.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
const unsigned short daad16[] = {
|
||||
0xFFFF, 0x0000, 0x0000, 0x0000, 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0xA514, 0xD6BA, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x1082, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x31A6, 0x4208, 0x4208, 0x4208, 0x4208, 0x4208, 0x4208, 0x52AA, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x39C7, 0x39E7, 0x39E7, 0x39C7, 0x0000, 0x31A6,
|
||||
0xFFFF, 0x8C51, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xAD75, 0xFFFF, 0xFFFF, 0xFFFF, 0x5ACB, 0x0000, 0x0000, 0x0000, 0x4A49, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x3186, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/daal8.bmp
Normal file
|
After Width: | Height: | Size: 438 B |
11
inc/Arabic/daal8.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
const unsigned short daal8[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x10A2, 0x4A49, 0x18C3, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xA534, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0861, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x738E, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/dhaa14.bmp
Normal file
|
After Width: | Height: | Size: 758 B |
17
inc/Arabic/dhaa14.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
const unsigned short dhaa14[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9492, 0x8C51,
|
||||
0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8410, 0xEF5D, 0xFFFF, 0xFFFF, 0xE73C, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8C71, 0xFFFF, 0xFFFF, 0xEF7D, 0xDEDB, 0xD69A, 0x630C, 0x0000, 0x8430, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x39C7, 0x8C71, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xD6BA, 0x0000, 0x0000, 0x2104, 0xCE79, 0xBDF7,
|
||||
0x528A, 0x0000, 0xB596, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0x2104, 0x0000, 0x0000, 0x0000, 0x4208,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0xCE79, 0x8430, 0xE73C, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0xEF5D, 0x0861, 0xDEDB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x9492, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE79, 0x0000,
|
||||
0xDEFB, 0xFFFF, 0xCE59, 0xF79E, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8C51, 0x0000, 0xBDF7, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8410, 0x18E3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9CF3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/dhaal8.bmp
Normal file
|
After Width: | Height: | Size: 438 B |
11
inc/Arabic/dhaal8.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
const unsigned short dhaal8[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x4208, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xA534, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x7BCF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0861, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x630C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x632C, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x31A6, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/dot8.bmp
Normal file
|
After Width: | Height: | Size: 438 B |
11
inc/Arabic/dot8.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
const unsigned short dot8[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/faa16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
19
inc/Arabic/faa16.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
const unsigned short faa16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x738E, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18E3, 0x7BCF, 0xF7BE, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC618, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0x2965, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xC638, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFDF, 0x630C, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x1082, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/ghayh11.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
14
inc/Arabic/ghayh11.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
const unsigned short ghayh11[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0861,
|
||||
0x6B6D, 0x73AE, 0x4208, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xE71C, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0841, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x5AEB, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x2104, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0841, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x3186, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x2124, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x632C, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/haa8.bmp
Normal file
|
After Width: | Height: | Size: 438 B |
11
inc/Arabic/haa8.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
const unsigned short haa8[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0xE71C, 0xFFFF, 0xFFFF, 0x18E3, 0xFFFF, 0xFFFF, 0xA534, 0x0000, 0x94B2, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xAD75, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC638, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/hhaa11.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
14
inc/Arabic/hhaa11.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
const unsigned short hhaa11[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x5ACB, 0x4A69, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x39C7, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x4228, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x632C, 0xF7BE, 0xFFFF, 0xE73C, 0x39C7, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x5AEB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xA534, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0xFFFF,
|
||||
0xD6BA, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x8410, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0x0000, 0x0000, 0x0000, 0x2945, 0x9492, 0x0020, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/jeem12.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
15
inc/Arabic/jeem12.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
const unsigned short jeem12[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xA514, 0x18C3, 0xE71C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x2945, 0xEF7D, 0xFFFF, 0xF79E, 0x6B4D, 0x0000, 0xE73C, 0xFFFF,
|
||||
0xFFFF, 0xAD75, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEF7D, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xAD75, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x18C3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000,
|
||||
0x0000, 0x0861, 0xC618, 0x2104, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/kaaf12.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
15
inc/Arabic/kaaf12.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
const unsigned short kaaf12[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xB5B6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x3186, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xD69A, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0x2945, 0xE71C, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEF5D, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0861, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/khaa12.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
15
inc/Arabic/khaa12.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
const unsigned short khaa12[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xF79E, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0861, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x9CF3, 0x8C71, 0xFFFF, 0xFFFF, 0x0000, 0x9CF3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x2124, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x632C, 0xFFFF, 0xFFFF, 0xFFFF, 0x1082, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/laam12.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
15
inc/Arabic/laam12.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
const unsigned short laam12[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xB596, 0xD6BA, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE73C, 0x0000, 0x3186, 0xFFFF, 0xFFFF, 0xDEFB, 0x0000,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x5ACB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x8C51, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x738E, 0xFFFF, 0xFFFF, 0xFFFF, 0x0020, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x738E, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x738E, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x738E, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x738E, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x738E, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x738E, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x738E, 0xB596, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xB596, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFDF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/meem9.bmp
Normal file
|
After Width: | Height: | Size: 502 B |
12
inc/Arabic/meem9.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
const unsigned short meem9[] = {
|
||||
0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE79, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x39E7, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xBDF7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x2104, 0xFFFF, 0x39E7, 0x0000, 0x1082, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x3186, 0x0000, 0x0000, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x39E7, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/noon12.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
15
inc/Arabic/noon12.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
const unsigned short noon12[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xA514, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0xB5B6, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x73AE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9492, 0x0020, 0xFFFF, 0xFFFF, 0xF79E, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9492, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x39E7, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0xA514, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x2965, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8430, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC638, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/qaaf12.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
15
inc/Arabic/qaaf12.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
const unsigned short qaaf12[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC638, 0x0000, 0x1082, 0x4208, 0x10A2, 0x0000, 0x0000, 0x0000, 0x2945, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xC618, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE79,
|
||||
0x0000, 0x0861, 0x0000, 0xFFFF, 0xFFFF, 0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x94B2, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0861, 0x0000, 0xFFFF, 0x0841, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xDEFB, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
|
||||
0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFDF, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xDEFB,
|
||||
0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/raa9.bmp
Normal file
|
After Width: | Height: | Size: 502 B |
12
inc/Arabic/raa9.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
const unsigned short raa9[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x73AE, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x528A, 0x0000, 0x2104, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xD6BA, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0861, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/saad16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
19
inc/Arabic/saad16.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
const unsigned short saad16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x6B4D, 0x4208, 0x632C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE79, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x5AEB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xEF7D, 0xDEDB, 0xDEDB, 0xDEDB, 0xDEDB, 0xDEDB, 0xDEDB, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x6B4D, 0x0000, 0xFFFF, 0xD69A, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xF79E, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xCE79, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xAD55, 0x6B4D, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/seen16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
19
inc/Arabic/seen16.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
const unsigned short seen16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10A2, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0xD6BA, 0xFFFF, 0xFFFF, 0x7BCF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xDEDB, 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0861, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xE73C, 0xFFFF, 0xFFFF, 0xDEFB, 0xCE79, 0xD6BA, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xDEDB, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFDF, 0x0841, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xF79E, 0xFFFF, 0xFFDF, 0x0000, 0xFFFF, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/sheen16.bmp
Normal file
|
After Width: | Height: | Size: 822 B |
19
inc/Arabic/sheen16.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
const unsigned short sheen16[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFDF, 0x738E, 0x4208, 0x39E7, 0x632C, 0xD6BA, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0x0000, 0x1082, 0x0000, 0x0000, 0x2124, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xB5B6, 0x0000, 0xDEDB, 0xFFFF, 0xFFFF, 0xFFFF, 0xDEDB, 0x2945, 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xC638, 0x39C7, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0841, 0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x39E7, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x10A2, 0x0000, 0x18E3, 0x73AE, 0x1082, 0x0000, 0x0000, 0xBDF7,
|
||||
0xFFFF, 0x7BCF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0x0000, 0x39C7, 0x630C, 0x0000, 0x630C, 0x6B4D, 0x0000, 0xAD55,
|
||||
0xFFFF, 0xFFFF, 0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x4208, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0xF79E, 0xFFFF, 0x0000, 0xAD55,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x4A49, 0xFFFF, 0xFFFF, 0x5AEB, 0xC618, 0xFFFF, 0x0000, 0xAD55,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x39E7, 0xAD55, 0xDEDB, 0x7BCF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8430, 0x0000, 0x7BCF, 0x0000, 0x1082, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xD69A, 0x9492, 0xC638, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEF7D, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8C71, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/taa14.bmp
Normal file
|
After Width: | Height: | Size: 758 B |
17
inc/Arabic/taa14.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
const unsigned short taa14[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x5AEB, 0xBDF7, 0xFFFF, 0xFFFF, 0xFFFF, 0x2104, 0x0000, 0x0000, 0x8430, 0x7BEF, 0x7BEF, 0x7BEF, 0x8410, 0x39C7,
|
||||
0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x39E7,
|
||||
0xA534, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC618, 0x0000, 0xEF7D, 0xFFFF,
|
||||
0xFFFF, 0xAD75, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xDEDB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x39C7, 0xE71C, 0xD69A, 0x8C71, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x10A2, 0x0000,
|
||||
0x6B4D, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xD69A, 0xCE79, 0xFFFF, 0x630C,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/thaa14.bmp
Normal file
|
After Width: | Height: | Size: 758 B |
17
inc/Arabic/thaa14.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
const unsigned short thaa14[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x9CF3, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE79, 0x0000, 0x0000, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE,
|
||||
0x3186, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0861, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xEF5D, 0x3186, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xB5B6, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xF79E, 0xFFFF, 0xFFFF, 0x632C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0x0861, 0x0861, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8430,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/thumbnail_arabicalphabet.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
inc/Arabic/ttaa14.bmp
Normal file
|
After Width: | Height: | Size: 758 B |
17
inc/Arabic/ttaa14.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
const unsigned short ttaa14[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9492, 0x8C51,
|
||||
0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8410, 0xEF5D, 0xFFFF, 0xFFFF, 0xE73C, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8C71, 0xFFFF, 0xFFFF, 0xEF7D, 0xDEDB, 0xD69A, 0x630C, 0x0000, 0x8430, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x39C7, 0x8C71, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xD6BA, 0x0000, 0x0000, 0x2104, 0xCE79, 0xBDF7,
|
||||
0x528A, 0x0000, 0xB596, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0x2104, 0x0000, 0x0000, 0x0000, 0x4208,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0xCE79, 0x8430, 0xE73C, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xCE59, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE79, 0x0000,
|
||||
0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8C51, 0x0000, 0xBDF7, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8410, 0x18E3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9CF3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/waaw11.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
14
inc/Arabic/waaw11.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
const unsigned short waaw11[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xDEDB, 0x8430, 0x8430, 0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x5ACB, 0x0000, 0x1082, 0x0000, 0x0000, 0x630C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xB5B6, 0x528A, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x94B2, 0x0000, 0xA514, 0xFFFF, 0xFFFF, 0xFFFF, 0xEF7D, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xBDF7, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xB5B6, 0x0000, 0xE73C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0xB596, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8410, 0x0000, 0xBDF7,
|
||||
0x2965, 0xA534, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x9492, 0x1082, 0xF7BE, 0x0000, 0xC638, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE73C,
|
||||
0x0841, 0xB5B6, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/yaa14.bmp
Normal file
|
After Width: | Height: | Size: 758 B |
17
inc/Arabic/yaa14.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
const unsigned short yaa14[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x9CD3, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x528A, 0x52AA,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0xD6BA, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xF7BE, 0xFFFF, 0xD6BA, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x5ACB, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x9CD3, 0x2965, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC618, 0x2965, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x73AE, 0x0000, 0x0000, 0x0000, 0x0000, 0x94B2, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x2104, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEF5D, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x73AE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x39E7, 0x6B4D, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0020, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
BIN
inc/Arabic/zaa9.bmp
Normal file
|
After Width: | Height: | Size: 502 B |
12
inc/Arabic/zaa9.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
const unsigned short zaa9[] = {
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0x0841, 0xFFFF, 0xFFFF, 0xAD55, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0020, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xEF5D,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
|
||||
|
||||
33
inc/Bump.c
Normal file
@@ -0,0 +1,33 @@
|
||||
// Bump.c
|
||||
// RSLK Bumper switches
|
||||
// negative logic internal pullup
|
||||
// June 28, 2024
|
||||
// TM4C MSPM0
|
||||
// PA5 PA27 Left, Bump 0,
|
||||
// PF0 PB15 Center Left, Bump 1,
|
||||
// PB3 PA28 Center Right, Bump 2
|
||||
// PC4 PA31 Right, Bump 3
|
||||
#include <ti/devices/msp/msp.h>
|
||||
#include "../inc/LaunchPad.h"
|
||||
void Bump_Init(void){
|
||||
IOMUX->SECCFG.PINCM[PA27INDEX] = (uint32_t) 0x00060081; // input, pull up
|
||||
IOMUX->SECCFG.PINCM[PB15INDEX] = (uint32_t) 0x00060081; // input, pull up
|
||||
IOMUX->SECCFG.PINCM[PA28INDEX] = (uint32_t) 0x00060081; // input, pull up
|
||||
IOMUX->SECCFG.PINCM[PA31INDEX] = (uint32_t) 0x00060081; // input, pull up
|
||||
}
|
||||
// bit 0 is left
|
||||
// bit 1 is left center
|
||||
// bit 2 is right center
|
||||
// bit 3 is right
|
||||
uint32_t Bump_In(void){
|
||||
// bit 27 is left
|
||||
// bit 15 is left center
|
||||
// bit 28 is right center
|
||||
// bit 31 is right
|
||||
return
|
||||
((GPIOA->DIN31_0&(1<<27)>>(27-0))| // PA27 into bit 0
|
||||
(GPIOB->DIN31_0&(1<<15)>>(15-1))| // PB15 into bit 1
|
||||
(GPIOA->DIN31_0&(1<<28)>>(28-2))| // PA28 into bit 2
|
||||
(GPIOA->DIN31_0&(1<<31)>>(31-3))) // PA31 into bit 3
|
||||
^0x0F; // convert to positive logic
|
||||
}
|
||||
59
inc/Bump.h
Normal file
@@ -0,0 +1,59 @@
|
||||
/*!
|
||||
* @defgroup RSLK
|
||||
* @brief RSLK Bumper switches
|
||||
<table>
|
||||
<caption id="Bump pins">RSLK Bumper switches</caption>
|
||||
<tr><th> TM4C <th> MSPM0 <th> Description
|
||||
<tr><td> PA5 <td> PA27 <td> Left, Bump 0,
|
||||
<tr><td> PF0 <td> PB15 <td> Center Left, Bump 1,
|
||||
<tr><td> PB3 <td> PA28 <td> Center Right, Bump 2
|
||||
<tr><td> PC4 <td> PA31 <td> Right, Bump 3
|
||||
</table>
|
||||
* @{*/
|
||||
/**
|
||||
* @file Bump.h
|
||||
* @brief RSLK Bumper switches
|
||||
* @details Four negative logic internal pullup<br>
|
||||
|
||||
* @version RSLK v2.02
|
||||
* @author Daniel Valvano and Jonathan Valvano
|
||||
* @copyright Copyright 2024 by Jonathan W. Valvano, valvano@mail.utexas.edu,
|
||||
* @warning AS-IS
|
||||
* @note For more information see http://users.ece.utexas.edu/~valvano/
|
||||
* @date June 28, 2024
|
||||
<table>
|
||||
<caption id="Bump pins2">RSLK Bumper switches</caption>
|
||||
<tr><th> TM4C <th> MSPM0 <th> Description
|
||||
<tr><td> PA5 <td> PA27 <td> Left, Bump 0,
|
||||
<tr><td> PF0 <td> PB15 <td> Center Left, Bump 1,
|
||||
<tr><td> PB3 <td> PA28 <td> Center Right, Bump 2
|
||||
<tr><td> PC4 <td> PA31 <td> Right, Bump 3
|
||||
</table>
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
#ifndef __BUMP_H__
|
||||
#define __BUMP_H__
|
||||
|
||||
|
||||
/**
|
||||
* Initialize RSLK bump switches
|
||||
* @param none
|
||||
* @return none
|
||||
* @brief Initialize bump switches
|
||||
*/
|
||||
void Bump_Init(void);
|
||||
|
||||
/**
|
||||
* Input RSLK bump switches<br>
|
||||
* bit 0 is left<br>
|
||||
* bit 1 is left center<br>
|
||||
* bit 2 is right center<br>
|
||||
* bit 3 is right
|
||||
* @param none
|
||||
* @return 0 to 15 in positive logic
|
||||
* @brief Read bump switches
|
||||
*/
|
||||
uint32_t Bump_In(void);
|
||||
|
||||
#endif
|
||||