mirror of
https://github.com/eddyem/scorpio.git
synced 2025-12-06 02:35:13 +03:00
fixed error: STM8S have NO opendrain mode for Tx of UART!!!
This commit is contained in:
parent
994a2cdf27
commit
eacc8ec5f5
@ -1,88 +1,87 @@
|
||||
Протокол работы.
|
||||
Протокол работы.
|
||||
|
||||
Внимание! Направление вращения (по или против часовой стрелки) относительно вида на мотор сзади!
|
||||
Внимание! Направление вращения (по или против часовой стрелки) относительно вида на мотор сзади!
|
||||
|
||||
Контроллер поддерживает независимое управление:
|
||||
- двумя униполярными шаговыми двигателями, движение которых ограничено парой концевых выключателей:
|
||||
"нулевой", движение за который запрещено, и "вспомогательный", движение за который допускается, -
|
||||
"вспомогательный" концевик блокирует движение в обоих направлениях, "нулевой" - только в отрицательном;
|
||||
- "набортным" светодиодом (управление - только "включить/выключить");
|
||||
- тремя ШИМ-каналами (частота таймера ШИМ - 200кГц, на 8 битах это дает частоту ШИМ в 781 Гц),
|
||||
выходное напряжение (5В) снимается с "набортного" LDO, поэтому при необходимости отбора более
|
||||
200-300мА тока (суммарно) следует использовать дополнительный MOSFET.
|
||||
Контроллер поддерживает независимое управление:
|
||||
- двумя униполярными шаговыми двигателями, движение которых ограничено парой концевых выключателей:
|
||||
"нулевой", движение за который запрещено, и "вспомогательный", движение за который допускается, -
|
||||
"вспомогательный" концевик блокирует движение в обоих направлениях, "нулевой" - только в отрицательном;
|
||||
- "набортным" светодиодом (управление - только "включить/выключить");
|
||||
- тремя ШИМ-каналами (частота таймера ШИМ - 200кГц, на 8 битах это дает частоту ШИМ в 781 Гц),
|
||||
выходное напряжение (5В) снимается с "набортного" LDO, поэтому при необходимости отбора более
|
||||
200-300мА тока (суммарно) следует использовать дополнительный MOSFET.
|
||||
|
||||
Управление шаговыми двигателями выполняется в полушаговом режиме.
|
||||
Концевые выключатели имеют встроенные слабые подтяжки к шине питания 5В и защищены резисторами 220Ом
|
||||
и суппрессором, поэтому при необходимости прокладки длинной линии к концевику следует установить
|
||||
сильные внешние подтяжки. Схема: https://github.com/eddyem/scorpio/tree/master/kicad/stm8_platform
|
||||
Код: https://github.com/eddyem/scorpio/tree/master/STM8/2stepper4reductor
|
||||
Управление шаговыми двигателями выполняется в полушаговом режиме.
|
||||
Концевые выключатели имеют встроенные слабые подтяжки к шине питания 5В и защищены резисторами 220Ом
|
||||
и суппрессором, поэтому при необходимости прокладки длинной линии к концевику следует установить
|
||||
сильные внешние подтяжки. Схема: https://github.com/eddyem/scorpio/tree/master/kicad/stm8_platform
|
||||
Код: https://github.com/eddyem/scorpio/tree/master/STM8/2stepper4reductor
|
||||
|
||||
Передача данных выполняется по шине UART (5 Вольт), 9600 бит/с, 8-N-1. Для возможности установки
|
||||
восьми устройств на одной линии связи, Tx микроконтроллера - открытый коллектор, поэтому необходима
|
||||
внешняя подтяжка линии Rx преобразователя USB<->TTL (если таковая в нем отсутствует).
|
||||
Передача данных выполняется по шине UART (5 Вольт), 9600 бит/с, 8-N-1. STM8 не имеет возможности работы
|
||||
линии Tx USART в режиме "открытый коллектор", поэтому для возможности установки восьми устройств на
|
||||
одной линии связи, Tx микроконтроллера включается лишь на время ответа.
|
||||
|
||||
Сразу после включения микроконтроллер выдает свой адрес и текст справки по доступным командам.
|
||||
Базовый протокол имеет вид: `[ addr command data ]`, где
|
||||
`addr` - адрес устройства (устанавливается перемычками или чип-переключателями на плате);
|
||||
`command` - команда на исполнение;
|
||||
`data` - (опциональные) данные команды.
|
||||
В случае правильного задания параметров команд возвращается эхо команды с параметрами, иначе в ответе
|
||||
присутствует err либо -1 вместо параметра. В случае ошибочной команды возвращается справка с полным
|
||||
их перечнем.
|
||||
|
||||
Базовый протокол имеет вид: `[ addr command data ]`, где
|
||||
`addr` - адрес устройства (устанавливается перемычками или чип-переключателями на плате);
|
||||
`command` - команда на исполнение;
|
||||
`data` - (опциональные) данные команды.
|
||||
В случае правильного задания параметров команд возвращается эхо команды с параметрами, иначе в ответе
|
||||
присутствует err либо -1 вместо параметра. В случае ошибочной команды возвращается справка с полным
|
||||
их перечнем.
|
||||
Помимо "собственного" адреса каждый контроллер откликается на команды, отправленные по адресу
|
||||
"широковещательному", для этого в поле addr должна стоять литера `b`. На широковещательные посылки
|
||||
контроллеры не отвечают.
|
||||
|
||||
Помимо "собственного" адреса каждый контроллер откликается на команды, отправленные по адресу
|
||||
"широковещательному", для этого в поле addr должна стоять литера `b`.
|
||||
Список команд:
|
||||
`0`, `1` - команды для мотора 0 или 1;
|
||||
`r` - аппаратный (при помощи watchdog'а) сброс микроконтроллера;
|
||||
`G` - запрос адреса платы;
|
||||
`L [параметр]` - запрос состояния "набортного" светодиода (без параметра), либо включить/выключить
|
||||
светодиод (параметр, соответственно, имеет значение 1/0);
|
||||
`P ch [параметр]` - запрос величины заполнения ШИМ на канале ch (ch принимает значение от 0 до 2,
|
||||
отсутствие сигнала - 0, 5В - 255), либо установка значения заполнения (параметр=0..255);
|
||||
`T` - запрос значения внутреннего счетчика миллисекунд (по встроенному RC-генератору).
|
||||
|
||||
Список команд:
|
||||
`0`, `1` - команды для мотора 0 или 1;
|
||||
`r` - аппаратный (при помощи watchdog'а) сброс микроконтроллера;
|
||||
`G` - запрос адреса платы;
|
||||
`L [параметр]` - запрос состояния "набортного" светодиода (без параметра), либо включить/выключить
|
||||
светодиод (параметр, соответственно, имеет значение 1/0);
|
||||
`P ch [параметр]` - запрос величины заполнения ШИМ на канале ch (ch принимает значение от 0 до 2,
|
||||
отсутствие сигнала - 0, 5В - 255), либо установка значения заполнения (параметр=0..255);
|
||||
`T` - запрос значения внутреннего счетчика миллисекунд (по встроенному RC-генератору).
|
||||
Команды для управления моторами:
|
||||
`E` - запрос состояния концевиков;
|
||||
`L` - движение против часовой стрелки;
|
||||
`M` - получение состояния мотора;
|
||||
`N [шаги]` - если параметр "шаги" опущен, получение значения оставшихся до остановки шагов (при движении
|
||||
по командам R и L эта величина равна количеству уже пройденных шагов с обратным знаком), иначе -
|
||||
движение на заданное количество шагов (отрицательное значение - против часовой стрелки);
|
||||
`O [шаги]` - движение по команде `N` прерывается на каждом вспомогательном концевике, чтобы сойти
|
||||
с него, необходимо использовать эту команду; при опущенном значении "шаги" будет произведено
|
||||
PULLOFFTHESW_STEPS (100) шагов; вне зависимости от параметра "шаги", если по истечению
|
||||
PULLOFFTHESW_STEPS шагов двигатель не съедет с концевика, он будет остановлен;
|
||||
`P` - получение текущей позиции (в шагах);
|
||||
`R` - движение по часовой стрелке;
|
||||
`S [время]` - получить ("время" опущено) или задать текущую скорость вращения; фактически эта команда
|
||||
устанавливает период таймеров, генерирующих прерывания для каждого микрошага; основная частота
|
||||
работы таймера - 1МГц, поэтому, например, значение время=5000 соответствует 100 шагам в секунду;
|
||||
`X` - остановить двигатель;
|
||||
`Z` - остановить двигатель и обнулить значение счетчика позиции; счетчик текущей позиции каждого
|
||||
шагового двигателя обнуляется либо вручную при помощи данной команды, либо автоматически при
|
||||
движении против часовой стрелки по команде `L` (команды `N` и `O` не сбрасывают счетчик положения
|
||||
на нулевом концевике!).
|
||||
|
||||
Команды для управления моторами:
|
||||
`E` - запрос состояния концевиков;
|
||||
`L` - движение против часовой стрелки;
|
||||
`M` - получение состояния мотора;
|
||||
`N [шаги]` - если параметр "шаги" опущен, получение значения оставшихся до остановки шагов (при движении
|
||||
по командам R и L эта величина равна количеству уже пройденных шагов с обратным знаком), иначе -
|
||||
движение на заданное количество шагов (отрицательное значение - против часовой стрелки);
|
||||
`O [шаги]` - движение по команде `N` прерывается на каждом вспомогательном концевике, чтобы сойти
|
||||
с него, необходимо использовать эту команду; при опущенном значении "шаги" будет произведено
|
||||
PULLOFFTHESW_STEPS (100) шагов; вне зависимости от параметра "шаги", если по истечению
|
||||
PULLOFFTHESW_STEPS шагов двигатель не съедет с концевика, он будет остановлен;
|
||||
`P` - получение текущей позиции (в шагах);
|
||||
`R` - движение по часовой стрелке;
|
||||
`S [время]` - получить ("время" опущено) или задать текущую скорость вращения; фактически эта команда
|
||||
устанавливает период таймеров, генерирующих прерывания для каждого микрошага; основная частота
|
||||
работы таймера - 1МГц, поэтому, например, значение время=5000 соответствует 100 шагам в секунду;
|
||||
`X` - остановить двигатель;
|
||||
`Z` - остановить двигатель и обнулить значение счетчика позиции; счетчик текущей позиции каждого
|
||||
шагового двигателя обнуляется либо вручную при помощи данной команды, либо автоматически при
|
||||
движении против часовой стрелки по команде `L` (команды `N` и `O` не сбрасывают счетчик положения
|
||||
на нулевом концевике!).
|
||||
Выводимое по команде `M` состояние двигателя фактически отражает состояние соответствующего конечного
|
||||
автомата:
|
||||
- `RELAX` - двигатель остановлен, напряжение питание с него снято;
|
||||
- `INFMV+/-` - неограниченное по количеству шагов движение по командам `L` (-) или `R` (+);
|
||||
- `STOP` - по завершению текущего шага двигатель будет остановлен;
|
||||
- `MVSTP+/-` - движение на заданное количество шагов (влево/вправо в соответствии со знаком);
|
||||
- `OFFSW+/-` - первые PULLOFFTHESW_STEPS шагов "съезда" с концевика (после этого состояние переходит
|
||||
в `MVSTP+/-` или `STOP`);
|
||||
- `UNDEF` - ошибочное (несуществующее) состояние.
|
||||
|
||||
Выводимое по команде `M` состояние двигателя фактически отражает состояние соответствующего конечного
|
||||
автомата:
|
||||
- `RELAX` - двигатель остановлен, напряжение питание с него снято;
|
||||
- `INFMV+/-` - неограниченное по количеству шагов движение по командам `L` (-) или `R` (+);
|
||||
- `STOP` - по завершению текущего шага двигатель будет остановлен;
|
||||
- `MVSTP+/-` - движение на заданное количество шагов (влево/вправо в соответствии со знаком);
|
||||
- `OFFSW+/-` - первые PULLOFFTHESW_STEPS шагов "съезда" с концевика (после этого состояние переходит
|
||||
в `MVSTP+/-` или `STOP`);
|
||||
- `UNDEF` - ошибочное (несуществующее) состояние.
|
||||
Скорость вращения шаговых двигателей лежит в пределах от MIN_USTEP_PERIOD (800мкс на полушаг, т.е.
|
||||
625 шагов в секунду) до MAX_USTEP_PERIOD (20000мкс на полушаг, т.е. 25 шагов в секунду). Первые
|
||||
ACCEL_USTEPS (100) полушагов двигатели вращаются с постоянным ускорением вплоть до достижения
|
||||
заданной скорости движения, по умолчанию эта скорость составляет DEFAULT_USTEP_PERIOD (2500мкс на
|
||||
полушаг, т.е. 200 шагов в секунду).
|
||||
|
||||
Скорость вращения шаговых двигателей лежит в пределах от MIN_USTEP_PERIOD (800мкс на полушаг, т.е.
|
||||
625 шагов в секунду) до MAX_USTEP_PERIOD (20000мкс на полушаг, т.е. 25 шагов в секунду). Первые
|
||||
ACCEL_USTEPS (100) полушагов двигатели вращаются с постоянным ускорением вплоть до достижения
|
||||
заданной скорости движения, по умолчанию эта скорость составляет DEFAULT_USTEP_PERIOD (2500мкс на
|
||||
полушаг, т.е. 200 шагов в секунду).
|
||||
|
||||
Примеры:
|
||||
Примеры:
|
||||
[00E] -> [ 0 0 E 0 ] (no esw)
|
||||
[01E] -> [ 0 1 E 3 ] (both - bad situation)
|
||||
[00L] -> [ 0 0 L ] (all OK)
|
||||
@ -99,7 +98,7 @@ ACCEL_USTEPS (100) полушагов двигатели вращаются с
|
||||
[01S1500] -> [ 0 1 S 1500 ] (set speed value)
|
||||
[01X] -> [ 0 1 X ]
|
||||
[01Z] -> [ 0 1 Z ]
|
||||
[0r] -> сброс
|
||||
[0r] -> сброс
|
||||
[0G] -> [ 0 G 0 ]
|
||||
[0L] -> [ 0 L 0 ], [0L1] -> [ 0 L 1 ], [0L] -> [ 0 L 1 ]
|
||||
[0P] -> [ 0 P 0 0 ], [0P0100] -> [ 0 P 0 100 ], [0P0] -> [ 0 P 0 100 ], [0P510] -> [ 0 P -1 ], [0P0500] -> [ 0 P 0 -1 ]
|
||||
|
||||
@ -123,23 +123,7 @@ INTERRUPT_HANDLER(I2C_IRQHandler, 19){}
|
||||
|
||||
#if defined(STM8S105) || defined(STM8S005) || defined (STM8AF626x)
|
||||
// UART2 TX interrupt
|
||||
INTERRUPT_HANDLER(UART2_TX_IRQHandler, 20){
|
||||
if(UART2_SR & UART_SR_TXE){
|
||||
if(tx_len == 0){
|
||||
UART2_CR2 &= ~UART_CR2_TIEN; // disable TXE interrupt
|
||||
tx_idx = 0;
|
||||
return;
|
||||
}
|
||||
if(tx_idx < tx_len){
|
||||
UART2_DR = UART_tx[tx_idx++];
|
||||
}else{
|
||||
UART2_CR2 &= ~UART_CR2_TIEN;
|
||||
tx_idx = 0;
|
||||
tx_len = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
INTERRUPT_HANDLER(UART2_TX_IRQHandler, 20){}
|
||||
|
||||
// UART2 RX interrupt
|
||||
INTERRUPT_HANDLER(UART2_RX_IRQHandler, 21){
|
||||
|
||||
@ -25,8 +25,8 @@
|
||||
#include "motors.h"
|
||||
|
||||
int main() {
|
||||
char A[3] = {'x', '\n', 0};
|
||||
unsigned long T = 0L;
|
||||
//char A[3] = {'x', '\n', 0};
|
||||
//unsigned long T = 0L;
|
||||
|
||||
if(RST_SR) RST_SR = 0x1f; // clear reset flags writing 1
|
||||
hw_init();
|
||||
@ -34,21 +34,23 @@ int main() {
|
||||
uart_init();
|
||||
// enable all interrupts
|
||||
enableInterrupts();
|
||||
// remove this code if nesessary
|
||||
/* remove this code if nesessary
|
||||
uart_write("\n\nHello! My address is ");
|
||||
A[0] = MCU_no + '0';
|
||||
uart_write(A);
|
||||
show_help(); // show protocol help @start
|
||||
*/
|
||||
// Loop
|
||||
do{
|
||||
/*if(Global_time - T > paused_val){
|
||||
/*if(Global_time - T > 10000){
|
||||
;
|
||||
}*/
|
||||
IWDG_KR = KEY_REFRESH; // refresh watchdog
|
||||
if(uart_rdy){
|
||||
process_string();
|
||||
}
|
||||
process_stepper(0);
|
||||
process_stepper(1);
|
||||
/*process_stepper(0);
|
||||
process_stepper(1);*/
|
||||
}while(1);
|
||||
}
|
||||
|
||||
|
||||
@ -123,6 +123,8 @@ static void stop_motor(U8 motorNum){
|
||||
}
|
||||
Steps_left[motorNum] = 0;
|
||||
Dir[motorNum] = DIR_STOP;
|
||||
if(state[motorNum] == MOTOR_ZEROSTOP) Current_pos[motorNum] = 0;
|
||||
state[motorNum] = MOTOR_RELAX;
|
||||
}
|
||||
|
||||
static void strtobuf(const char *str, char **buff){
|
||||
@ -332,6 +334,8 @@ void motor_command(const char *cmd, char **buff){
|
||||
void stepper_interrupt(U8 motor_num){
|
||||
U8 tmp;
|
||||
U16 spd;
|
||||
U8 sw = check_endsw(motor_num), st = state[motor_num];
|
||||
U8 ccw = (Dir[motor_num] == DIR_CCW) ? 1 : 0;
|
||||
//irq_flag ^= 1 << motor_num;
|
||||
switch(motor_num){
|
||||
case 0:
|
||||
@ -367,25 +371,44 @@ void stepper_interrupt(U8 motor_num){
|
||||
default: return;
|
||||
}
|
||||
if(Ustep[motor_num] % 2 == 0){ // full amount of half-steps - increment step counters & check for stop
|
||||
--Steps_left[motor_num];
|
||||
if(Dir[motor_num] == DIR_CCW) --Current_pos[motor_num];
|
||||
if(0 == --Steps_left[motor_num]) st = MOTOR_STOP;
|
||||
if(ccw) --Current_pos[motor_num];
|
||||
else ++Current_pos[motor_num];
|
||||
if(state[motor_num] == MOTOR_STOP || state[motor_num] == MOTOR_ZEROSTOP){
|
||||
if(st == MOTOR_STOP || st == MOTOR_ZEROSTOP){
|
||||
stop_motor(motor_num);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(Dir[motor_num] == DIR_CCW){ // counter-clockwise
|
||||
if(ccw){ // counter-clockwise
|
||||
if(Ustep[motor_num] == 0) Ustep[motor_num] = 7;
|
||||
else --Ustep[motor_num];
|
||||
}else{ // clockwise
|
||||
if(++Ustep[motor_num] > 7) Ustep[motor_num] = 0;
|
||||
}
|
||||
switch(st){
|
||||
case MOTOR_OFFSWITCH: // don't care about endswitch for first PULLOFFTHESW_STEPS steps
|
||||
if(Steps_left_at_esw[motor_num] - Steps_left[motor_num] >= PULLOFFTHESW_STEPS)
|
||||
state[motor_num] = MOTOR_MOVENSTEPS;
|
||||
break;
|
||||
case MOTOR_MOVENSTEPS:
|
||||
case MOTOR_INFMOVE: // set curpos to zero only in this state (after reaching ESW1)
|
||||
if(sw){
|
||||
if(ccw){
|
||||
if(st == MOTOR_INFMOVE){
|
||||
if(sw & 1) state[motor_num] = MOTOR_ZEROSTOP; // esw1 - stop @ zero when inf. left move
|
||||
}else state[motor_num] = MOTOR_STOP; // just stop at any esw in steps move
|
||||
}else{ // +switch when move CW
|
||||
if(sw & 2) state[motor_num] = MOTOR_STOP; // stop in CW only on esw2 !!!
|
||||
}
|
||||
}
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Main state-machine process
|
||||
*/
|
||||
*
|
||||
void process_stepper(U8 motor_num){
|
||||
U8 sw = check_endsw(motor_num);
|
||||
U8 ccw = (Dir[motor_num] == DIR_CCW) ? 1 : 0;
|
||||
@ -408,18 +431,6 @@ void process_stepper(U8 motor_num){
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MOTOR_STOP:
|
||||
if(Dir[motor_num] == DIR_STOP){
|
||||
state[motor_num] = MOTOR_RELAX;
|
||||
}
|
||||
break;
|
||||
case MOTOR_ZEROSTOP:
|
||||
if(Dir[motor_num] == DIR_STOP){
|
||||
Current_pos[motor_num] = 0;
|
||||
state[motor_num] = MOTOR_RELAX;
|
||||
}
|
||||
break;
|
||||
default: return; // MOTOR_RELAX
|
||||
}
|
||||
//if(irq_flag & (1<<motor_num)) stepper_interrupt(motor_num);
|
||||
}
|
||||
}*/
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
// amount of steps to pull off the switch
|
||||
#define PULLOFFTHESW_STEPS (100)
|
||||
// amount of microsteps for acceleration calculation (50 full steps)
|
||||
#define ACCEL_USTEPS (100)
|
||||
#define ACCEL_USTEPS (100)
|
||||
|
||||
//extern unsigned char irq_flag;
|
||||
|
||||
@ -44,6 +44,6 @@ void motor_command(const char *cmd, char **bufptr);
|
||||
|
||||
void stepper_interrupt(unsigned char motor_num);
|
||||
|
||||
void process_stepper(unsigned char stepno);
|
||||
//void process_stepper(unsigned char stepno);
|
||||
|
||||
#endif // __MOTORS_H__
|
||||
|
||||
@ -157,6 +157,8 @@ void process_string(){
|
||||
rx_idx = 0;
|
||||
return;
|
||||
}
|
||||
if(mcuno == BROADCAST_ADDR) broadcast = 1;
|
||||
else broadcast = 0;
|
||||
// rx_idx is length of incoming message; next char is '\0', copy it too
|
||||
for(ctr = 0; ctr < rx_idx; ++ctr) *iptr++ = *optr++;
|
||||
rx_idx = 0; uart_rdy = 0; // command read, buffer ready to get more data
|
||||
|
||||
Binary file not shown.
@ -326,8 +326,6 @@ UART_SR_TXE
|
||||
UART_TX_PINÌ65536Ö0
|
||||
UART_rxÌ16384Ö0ÏU8
|
||||
UART_rxÌ32768Ö0ÏU8
|
||||
UART_txÌ16384Ö0ÏU8
|
||||
UART_txÌ32768Ö0ÏU8
|
||||
UstepÌ16384Ö0ÏU8
|
||||
WWDG_CRÌ65536Ö0
|
||||
WWDG_WRÌ65536Ö0
|
||||
@ -391,10 +389,81 @@ __ELF__
|
||||
__EXCEPTIONSÌ65536Ö0
|
||||
__FINITE_MATH_ONLY__Ì65536Ö0
|
||||
__FLOAT_WORD_ORDER__Ì65536Ö0
|
||||
__FLT128_DECIMAL_DIG__Ì65536Ö0
|
||||
__FLT128_DENORM_MIN__Ì65536Ö0
|
||||
__FLT128_DIG__Ì65536Ö0
|
||||
__FLT128_EPSILON__Ì65536Ö0
|
||||
__FLT128_HAS_DENORM__Ì65536Ö0
|
||||
__FLT128_HAS_INFINITY__Ì65536Ö0
|
||||
__FLT128_HAS_QUIET_NAN__Ì65536Ö0
|
||||
__FLT128_MANT_DIG__Ì65536Ö0
|
||||
__FLT128_MAX_10_EXP__Ì65536Ö0
|
||||
__FLT128_MAX_EXP__Ì65536Ö0
|
||||
__FLT128_MAX__Ì65536Ö0
|
||||
__FLT128_MIN_10_EXP__Ì65536Ö0
|
||||
__FLT128_MIN_EXP__Ì65536Ö0
|
||||
__FLT128_MIN__Ì65536Ö0
|
||||
__FLT32X_DECIMAL_DIG__Ì65536Ö0
|
||||
__FLT32X_DENORM_MIN__Ì65536Ö0
|
||||
__FLT32X_DIG__Ì65536Ö0
|
||||
__FLT32X_EPSILON__Ì65536Ö0
|
||||
__FLT32X_HAS_DENORM__Ì65536Ö0
|
||||
__FLT32X_HAS_INFINITY__Ì65536Ö0
|
||||
__FLT32X_HAS_QUIET_NAN__Ì65536Ö0
|
||||
__FLT32X_MANT_DIG__Ì65536Ö0
|
||||
__FLT32X_MAX_10_EXP__Ì65536Ö0
|
||||
__FLT32X_MAX_EXP__Ì65536Ö0
|
||||
__FLT32X_MAX__Ì65536Ö0
|
||||
__FLT32X_MIN_10_EXP__Ì65536Ö0
|
||||
__FLT32X_MIN_EXP__Ì65536Ö0
|
||||
__FLT32X_MIN__Ì65536Ö0
|
||||
__FLT32_DECIMAL_DIG__Ì65536Ö0
|
||||
__FLT32_DENORM_MIN__Ì65536Ö0
|
||||
__FLT32_DIG__Ì65536Ö0
|
||||
__FLT32_EPSILON__Ì65536Ö0
|
||||
__FLT32_HAS_DENORM__Ì65536Ö0
|
||||
__FLT32_HAS_INFINITY__Ì65536Ö0
|
||||
__FLT32_HAS_QUIET_NAN__Ì65536Ö0
|
||||
__FLT32_MANT_DIG__Ì65536Ö0
|
||||
__FLT32_MAX_10_EXP__Ì65536Ö0
|
||||
__FLT32_MAX_EXP__Ì65536Ö0
|
||||
__FLT32_MAX__Ì65536Ö0
|
||||
__FLT32_MIN_10_EXP__Ì65536Ö0
|
||||
__FLT32_MIN_EXP__Ì65536Ö0
|
||||
__FLT32_MIN__Ì65536Ö0
|
||||
__FLT64X_DECIMAL_DIG__Ì65536Ö0
|
||||
__FLT64X_DENORM_MIN__Ì65536Ö0
|
||||
__FLT64X_DIG__Ì65536Ö0
|
||||
__FLT64X_EPSILON__Ì65536Ö0
|
||||
__FLT64X_HAS_DENORM__Ì65536Ö0
|
||||
__FLT64X_HAS_INFINITY__Ì65536Ö0
|
||||
__FLT64X_HAS_QUIET_NAN__Ì65536Ö0
|
||||
__FLT64X_MANT_DIG__Ì65536Ö0
|
||||
__FLT64X_MAX_10_EXP__Ì65536Ö0
|
||||
__FLT64X_MAX_EXP__Ì65536Ö0
|
||||
__FLT64X_MAX__Ì65536Ö0
|
||||
__FLT64X_MIN_10_EXP__Ì65536Ö0
|
||||
__FLT64X_MIN_EXP__Ì65536Ö0
|
||||
__FLT64X_MIN__Ì65536Ö0
|
||||
__FLT64_DECIMAL_DIG__Ì65536Ö0
|
||||
__FLT64_DENORM_MIN__Ì65536Ö0
|
||||
__FLT64_DIG__Ì65536Ö0
|
||||
__FLT64_EPSILON__Ì65536Ö0
|
||||
__FLT64_HAS_DENORM__Ì65536Ö0
|
||||
__FLT64_HAS_INFINITY__Ì65536Ö0
|
||||
__FLT64_HAS_QUIET_NAN__Ì65536Ö0
|
||||
__FLT64_MANT_DIG__Ì65536Ö0
|
||||
__FLT64_MAX_10_EXP__Ì65536Ö0
|
||||
__FLT64_MAX_EXP__Ì65536Ö0
|
||||
__FLT64_MAX__Ì65536Ö0
|
||||
__FLT64_MIN_10_EXP__Ì65536Ö0
|
||||
__FLT64_MIN_EXP__Ì65536Ö0
|
||||
__FLT64_MIN__Ì65536Ö0
|
||||
__FLT_DECIMAL_DIG__Ì65536Ö0
|
||||
__FLT_DENORM_MIN__Ì65536Ö0
|
||||
__FLT_DIG__Ì65536Ö0
|
||||
__FLT_EPSILON__Ì65536Ö0
|
||||
__FLT_EVAL_METHOD_TS_18661_3__Ì65536Ö0
|
||||
__FLT_EVAL_METHOD__Ì65536Ö0
|
||||
__FLT_HAS_DENORM__Ì65536Ö0
|
||||
__FLT_HAS_INFINITY__Ì65536Ö0
|
||||
@ -455,25 +524,37 @@ __INTERRUPTS_H__
|
||||
__INTMAX_CÌ131072Í(c)Ö0
|
||||
__INTMAX_MAX__Ì65536Ö0
|
||||
__INTMAX_TYPE__Ì65536Ö0
|
||||
__INTMAX_WIDTH__Ì65536Ö0
|
||||
__INTPTR_MAX__Ì65536Ö0
|
||||
__INTPTR_TYPE__Ì65536Ö0
|
||||
__INTPTR_WIDTH__Ì65536Ö0
|
||||
__INT_FAST16_MAX__Ì65536Ö0
|
||||
__INT_FAST16_TYPE__Ì65536Ö0
|
||||
__INT_FAST16_WIDTH__Ì65536Ö0
|
||||
__INT_FAST32_MAX__Ì65536Ö0
|
||||
__INT_FAST32_TYPE__Ì65536Ö0
|
||||
__INT_FAST32_WIDTH__Ì65536Ö0
|
||||
__INT_FAST64_MAX__Ì65536Ö0
|
||||
__INT_FAST64_TYPE__Ì65536Ö0
|
||||
__INT_FAST64_WIDTH__Ì65536Ö0
|
||||
__INT_FAST8_MAX__Ì65536Ö0
|
||||
__INT_FAST8_TYPE__Ì65536Ö0
|
||||
__INT_FAST8_WIDTH__Ì65536Ö0
|
||||
__INT_LEAST16_MAX__Ì65536Ö0
|
||||
__INT_LEAST16_TYPE__Ì65536Ö0
|
||||
__INT_LEAST16_WIDTH__Ì65536Ö0
|
||||
__INT_LEAST32_MAX__Ì65536Ö0
|
||||
__INT_LEAST32_TYPE__Ì65536Ö0
|
||||
__INT_LEAST32_WIDTH__Ì65536Ö0
|
||||
__INT_LEAST64_MAX__Ì65536Ö0
|
||||
__INT_LEAST64_TYPE__Ì65536Ö0
|
||||
__INT_LEAST64_WIDTH__Ì65536Ö0
|
||||
__INT_LEAST8_MAX__Ì65536Ö0
|
||||
__INT_LEAST8_TYPE__Ì65536Ö0
|
||||
__INT_LEAST8_WIDTH__Ì65536Ö0
|
||||
__INT_MAX__Ì65536Ö0
|
||||
__INT_WIDTH__Ì65536Ö0
|
||||
__LDBL_DECIMAL_DIG__Ì65536Ö0
|
||||
__LDBL_DENORM_MIN__Ì65536Ö0
|
||||
__LDBL_DIG__Ì65536Ö0
|
||||
__LDBL_EPSILON__Ì65536Ö0
|
||||
@ -488,7 +569,9 @@ __LDBL_MIN_10_EXP__
|
||||
__LDBL_MIN_EXP__Ì65536Ö0
|
||||
__LDBL_MIN__Ì65536Ö0
|
||||
__LONG_LONG_MAX__Ì65536Ö0
|
||||
__LONG_LONG_WIDTH__Ì65536Ö0
|
||||
__LONG_MAX__Ì65536Ö0
|
||||
__LONG_WIDTH__Ì65536Ö0
|
||||
__LP64__Ì65536Ö0
|
||||
__MMX__Ì65536Ö0
|
||||
__MOTORS_H__Ì65536Ö0
|
||||
@ -502,14 +585,18 @@ __PRAGMA_REDEFINE_EXTNAME
|
||||
__PROTO_H__Ì65536Ö0
|
||||
__PTRDIFF_MAX__Ì65536Ö0
|
||||
__PTRDIFF_TYPE__Ì65536Ö0
|
||||
__PTRDIFF_WIDTH__Ì65536Ö0
|
||||
__REGISTER_PREFIX__Ì65536Ö0
|
||||
__SCHAR_MAX__Ì65536Ö0
|
||||
__SCHAR_WIDTH__Ì65536Ö0
|
||||
__SEG_FSÌ65536Ö0
|
||||
__SEG_GSÌ65536Ö0
|
||||
__SHRT_MAX__Ì65536Ö0
|
||||
__SHRT_WIDTH__Ì65536Ö0
|
||||
__SIG_ATOMIC_MAX__Ì65536Ö0
|
||||
__SIG_ATOMIC_MIN__Ì65536Ö0
|
||||
__SIG_ATOMIC_TYPE__Ì65536Ö0
|
||||
__SIG_ATOMIC_WIDTH__Ì65536Ö0
|
||||
__SIZEOF_DOUBLE__Ì65536Ö0
|
||||
__SIZEOF_FLOAT128__Ì65536Ö0
|
||||
__SIZEOF_FLOAT80__Ì65536Ö0
|
||||
@ -527,6 +614,7 @@ __SIZEOF_WCHAR_T__
|
||||
__SIZEOF_WINT_T__Ì65536Ö0
|
||||
__SIZE_MAX__Ì65536Ö0
|
||||
__SIZE_TYPE__Ì65536Ö0
|
||||
__SIZE_WIDTH__Ì65536Ö0
|
||||
__SSE2_MATH__Ì65536Ö0
|
||||
__SSE2__Ì65536Ö0
|
||||
__SSE_MATH__Ì65536Ö0
|
||||
@ -580,9 +668,11 @@ __VERSION__
|
||||
__WCHAR_MAX__Ì65536Ö0
|
||||
__WCHAR_MIN__Ì65536Ö0
|
||||
__WCHAR_TYPE__Ì65536Ö0
|
||||
__WCHAR_WIDTH__Ì65536Ö0
|
||||
__WINT_MAX__Ì65536Ö0
|
||||
__WINT_MIN__Ì65536Ö0
|
||||
__WINT_TYPE__Ì65536Ö0
|
||||
__WINT_WIDTH__Ì65536Ö0
|
||||
__amd64Ì65536Ö0
|
||||
__amd64__Ì65536Ö0
|
||||
__code_model_small__Ì65536Ö0
|
||||
@ -614,6 +704,7 @@ __cpp_rvalue_reference
|
||||
__cpp_rvalue_referencesÌ65536Ö0
|
||||
__cpp_sized_deallocationÌ65536Ö0
|
||||
__cpp_static_assertÌ65536Ö0
|
||||
__cpp_threadsafe_static_initÌ65536Ö0
|
||||
__cpp_unicode_charactersÌ65536Ö0
|
||||
__cpp_unicode_literalsÌ65536Ö0
|
||||
__cpp_user_defined_literalsÌ65536Ö0
|
||||
@ -634,6 +725,8 @@ __x86_64
|
||||
__x86_64__Ì65536Ö0
|
||||
anon_enum_0Ì2Ö0
|
||||
anon_enum_1Ì2Ö0
|
||||
broadcastÌ16384Ö0ÏU8
|
||||
broadcastÌ32768Ö0ÏU8
|
||||
check_endswÌ16Í(U8 motor)Ö0ÏU8
|
||||
disableInterruptsÌ131072Í()Ö0
|
||||
enableInterruptsÌ131072Í()Ö0
|
||||
@ -641,7 +734,6 @@ get_motor_state
|
||||
haltÌ131072Í()Ö0
|
||||
hw_initÌ16Í()Ö0Ïvoid
|
||||
hw_initÌ1024Í()Ö0Ïvoid
|
||||
ibufÌ16384Ö0Ïchar
|
||||
iretÌ131072Í()Ö0
|
||||
linuxÌ65536Ö0
|
||||
long2bufÌ16Í(long Number, char **buf)Ö0Ïvoid
|
||||
@ -654,15 +746,10 @@ motors_init
|
||||
motors_initÌ1024Í()Ö0Ïvoid
|
||||
moveNstepsÌ16Í(U8 motorNum, long nsteps)Ö0Ïint
|
||||
nopÌ131072Í()Ö0
|
||||
obufÌ16384Ö0Ïchar
|
||||
omit_whitespaceÌ1024Í(char *str)Ö0Ïchar *
|
||||
pop_ccrÌ131072Í()Ö0
|
||||
printUintÌ16Í(const U8 *val, U8 len)Ö0Ïvoid
|
||||
printUintÌ1024Í(const U8 *val, U8 len)Ö0Ïvoid
|
||||
process_commandsÌ16Í(char *cmd)Ö0ÏU8
|
||||
process_stepperÌ16Í(U8 motor_num)Ö0Ïvoid
|
||||
process_stepperÌ1024Í(unsigned char stepno)Ö0Ïvoid
|
||||
process_stringÌ16Í()Ö0Ïvoid
|
||||
process_stringÌ1024Í()Ö0Ïvoid
|
||||
pullofftheswitchÌ16Í(U8 motorNum, long nsteps)Ö0Ïint
|
||||
push_ccrÌ131072Í()Ö0
|
||||
@ -671,8 +758,6 @@ readLong
|
||||
rimÌ131072Í()Ö0
|
||||
rx_idxÌ16384Ö0ÏU8
|
||||
rx_idxÌ32768Ö0ÏU8
|
||||
set_PWMÌ16Í(char *cmd, char **buff)Ö0Ïvoid
|
||||
show_helpÌ16Í()Ö0Ïvoid
|
||||
show_helpÌ1024Í()Ö0Ïvoid
|
||||
show_motors_helpÌ16Í()Ö0Ïvoid
|
||||
show_motors_helpÌ1024Í()Ö0Ïvoid
|
||||
@ -684,10 +769,6 @@ stop_motor
|
||||
strtobufÌ16Í(const char *str, char **buff)Ö0Ïvoid
|
||||
trapÌ131072Í()Ö0
|
||||
turnontimerÌ16Í(U8 motorNum)Ö0Ïvoid
|
||||
tx_idxÌ16384Ö0ÏU8
|
||||
tx_idxÌ32768Ö0ÏU8
|
||||
tx_lenÌ16384Ö0ÏU8
|
||||
tx_lenÌ32768Ö0ÏU8
|
||||
uart_initÌ16Í()Ö0Ïvoid
|
||||
uart_initÌ1024Í()Ö0Ïvoid
|
||||
uart_rdyÌ16384Ö0ÏU8
|
||||
|
||||
@ -28,11 +28,14 @@ long_line_behaviour=1
|
||||
long_line_column=100
|
||||
|
||||
[files]
|
||||
current_page=3
|
||||
FILE_NAME_0=832;Make;0;EUTF-8;1;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FELECTRONICS%2FSTM8%2FSCORPIO_steppers%2FMakefile;0;4
|
||||
FILE_NAME_1=1253;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FELECTRONICS%2FSTM8%2FSCORPIO_steppers%2Fmain.c;0;4
|
||||
FILE_NAME_2=891;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FELECTRONICS%2FSTM8%2FSCORPIO_steppers%2Fuart.c;0;4
|
||||
FILE_NAME_3=0;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FELECTRONICS%2FSTM8%2FSCORPIO_steppers%2Fuart.h;0;4
|
||||
current_page=6
|
||||
FILE_NAME_0=319;Make;0;EUTF-8;1;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FELECTRONICS%2FSTM8%2FSCORPIO_steppers%2FMakefile;0;4
|
||||
FILE_NAME_1=1296;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FELECTRONICS%2FSTM8%2FSCORPIO_steppers%2Fmain.c;0;4
|
||||
FILE_NAME_2=1815;C;0;EKOI8-R;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FELECTRONICS%2FSTM8%2FSCORPIO_steppers%2Fhardware.c;0;4
|
||||
FILE_NAME_3=1949;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FELECTRONICS%2FSTM8%2FSCORPIO_steppers%2Fhardware.h;0;4
|
||||
FILE_NAME_4=2535;C;0;EUTF-8;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FELECTRONICS%2FSTM8%2FSCORPIO_steppers%2Finterrupts.c;0;4
|
||||
FILE_NAME_5=1553;C;0;EKOI8-R;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FELECTRONICS%2FSTM8%2FSCORPIO_steppers%2Fuart.c;0;4
|
||||
FILE_NAME_6=1340;C;0;EKOI8-R;0;1;0;%2Fhome%2Feddy%2FDocs%2FSAO%2FELECTRONICS%2FSTM8%2FSCORPIO_steppers%2Fuart.h;0;4
|
||||
|
||||
[VTE]
|
||||
last_dir=/home/eddy
|
||||
last_dir=/home/eddy/Docs/SAO/ELECTRONICS/STM8/SCORPIO_steppers
|
||||
|
||||
@ -1,199 +1,187 @@
|
||||
:2080A40072107F60350050C635075345357D53463501534135855340350F5007350F5008A3
|
||||
:2080C400351E500C351E500D350E500E350F5011350F5012AE5008F6AA10F7AE5008F6AAFE
|
||||
:2080E40020F7721E5012AE5012F6AA10F7AE500AF6AA10F735CC50E0355550E0350650E1B6
|
||||
:2081040035FF50E235AA50E0AE500BF6A4E04EA40F44C7006635005260354F52613500524C
|
||||
:2081040035FF50E235AA50E0AE500BF6A4E04EA40F44C7004635005260354F52613500526C
|
||||
:208124006235FF526335005265350052663500526735005268350052693500526A35705262
|
||||
:1A81440058357052593570525A3511525C3501525D35815250721E526D8127
|
||||
:05979B000000000000C9
|
||||
:0596180000000000004D
|
||||
:04808300725F000127
|
||||
:20815E008080808080808080808080AE5302F6A501270CA4FEAE5302F74B00CD8D37848033
|
||||
:20817E0080AE5322F6A501270CA4FEAE5322F74B01CD8D37848080805202AE5240F64D2AD1
|
||||
:20819E0043725D006A260DAE5245F6A47FF7725F00692030C6006AC100692319AE00221FAE
|
||||
:2081BE0001C6006997725C00694F9572FB01F6AE5241F7200FAE5245F6A47FF7725F006965
|
||||
:2081DE00725F006A5B02805202AE5240F6A5202603CC8278AE5241F695725D0067267B9EEA
|
||||
:2081FE00A12027769EA10927719EA10D276C9EA10A27679EA15B260A35010001725F006833
|
||||
:20821E002058725D000127529EA15D2603A601214F88C60068A11F8426094D2606725F0030
|
||||
:20823E006820374D271C725F0001725D0068270435010067AE00029FCB006802A900957FBF
|
||||
:20825E00201890AE00021701C600689097725C00684F909572F9019E90F75B028080AE5382
|
||||
:20827E0042F644241B90CE006472A90001C60063A90097C60062A9009590CF0064CF006284
|
||||
:06829E0035005342808010
|
||||
:2082A400AE5011F6AA20F7AE5012F6A4DFF73568524235035243352C5245815202725D00DA
|
||||
:2082C4006A270635AA50E020F4AE00221F011E05C6006A9097725C006A4F909572F901F668
|
||||
:2082E4005C90F7F64D2707C6006AA12025E2AE5245F6AA80F75B028152245F1F031F017B62
|
||||
:2083040029A1042303CC83D67B29A1032603CC83D60D292603CC83D6961C00061F111E110F
|
||||
:208324001C000A7F7B29A101270E7B29A10227197B29A104272E20451E27F66B184F5F6BB8
|
||||
:20834400031F017B186B042034162717131E13FE1F23162317210F200F1F16211703161F74
|
||||
:20836400170120191627171D1E1DE6036B1CE6026B1BFE1F19161B170316191701A6096B3C
|
||||
:20838400054B0A5F894B001E07891E0789CD96235B08517B050A055F9772FB11909FAB30A9
|
||||
:2083A400F74B0A5F894B001E07891E0789CD96BA5B081F0317011E0326041E0127067B050D
|
||||
:2083C400A1FF2CBD7B054C5F9772FB1189CD82BF5B025B248152130F0F961C00031F121E55
|
||||
:2083E400121C000B7F0D162A14161890504F1217974F12169517181F16A6016B0FA60B6B96
|
||||
:20840400024B0A5F894B001E1C891E1C89CD95FE5B089F0A025F417B024172FB12AB30F72B
|
||||
:208424004B0A5F894B001E1C891E1C89CD96935B081F1817161E1826041E1627040D022679
|
||||
:20844400C07B020D0227110D0F270D7B024A5F9772FB1288A62DF7846B017B01A10C241D5C
|
||||
:208464001E1AE6016B11F66B101610905CFF5F7B019772FB12F61E10F70C0120DD5B1381D6
|
||||
:2084840052120F05A6016B065F1F031F011E15F6A12D2607A6016B055C1F15161517111E6B
|
||||
:2084A40011F61E115C1F11A12B27F4A1302556A13922520F06881E04891E04894B0A5F8945
|
||||
:2084C4004B00CD97145B081F10170E84905F90975F905D2A015A72F90F9F190E889E190E26
|
||||
:2084E400958472A20030A20002A20095511303909F1202909E12012E06A6016B0620061FC4
|
||||
:20850400031701209A0D0627034F202F0D05271C7B04406B0C4F12036B0B4F12026B0A4F1B
|
||||
:1E85240012016B01160B17037B0A6B02161717071E071603EF021601FFA6015B128168
|
||||
:0497A00000000000C5
|
||||
:20815E008080808080808080808080AE5302F6A501270CA4FEAE5302F74B00CD8C988480D3
|
||||
:20817E0080AE5322F6A501270CA4FEAE5322F74B01CD8C9884808080805202AE5240F6A5C3
|
||||
:20819E00202603CC822AAE5241F695725D0048267B9EA12027769EA10927719EA10D276CC1
|
||||
:2081BE009EA10A27679EA15B260A35010001725F00472058725D000127529EA15D2603A685
|
||||
:2081DE0001214F88C60047A11F8426094D2606725F004720374D271C725F0001725D0047A8
|
||||
:2081FE00270435010048AE00029FCB004702A900957F201890AE00021701C6004790977262
|
||||
:20821E005C00474F909572F9019E90F75B028080AE5342F644241B90CE004472A90001C6FB
|
||||
:18823E000043A90097C60042A9009590CF0044CF0042350053428080E1
|
||||
:2082560035685242350352433524524581725D00492625AE5245F6AA08F7160390F64D273F
|
||||
:2082760010905CAE5241F7AE5240F6A54026ED20F6AE5245F6A4F7F78152245F1F031F010B
|
||||
:208296007B29A1042303CC83697B29A1032603CC83690D292603CC8369961C00051F231E4A
|
||||
:2082B600231C000A7F7B29A101270E7B29A10227197B29A104272E20451E27F66B224F5F65
|
||||
:2082D6006B031F017B226B0420341627171D1E1DFE1F1B161B17190F180F171619170316A9
|
||||
:2082F6001717012019162717151E15E6036B14E6026B13FE1F111613170316111701A60937
|
||||
:208316006B104B0A5F894B001E07891E0789CD94A05B08517B100A105F9772FB23909FAB2E
|
||||
:2083360030F74B0A5F894B001E07891E0789CD95375B081F0317011E0326041E0127067BD4
|
||||
:2083560010A1FF2CBD7B104C5F9772FB2389CD82635B025B248152130F0E965C1F121E12A4
|
||||
:208376001C000B7F0D162A14161890504F1217974F12169517181F16A6016B0EA60B6B0D0A
|
||||
:208396004B0A5F894B001E1C891E1C89CD947B5B089F0A0D5F417B0D4172FB12AB30F74BBF
|
||||
:2083B6000A5F894B001E1C891E1C89CD95105B081F1817161E1826041E1627040D0D26C0EC
|
||||
:2083D6007B0D0D0D27110D0E270D7B0D4A5F9772FB1288A62DF7846B0F7B0FA10C241D1E31
|
||||
:2083F6001AE6016B11F66B101610905CFF5F7B0F9772FB12F61E10F70C0F20DD5B138152F5
|
||||
:20841600120F01A6016B025F1F051F031E15F6A12D2607A6016B015C1F15161517071E0736
|
||||
:20843600F61E075C1F07A12B27F4A1302556A13922520F02881E06891E06894B0A5F894B8D
|
||||
:2084560000CD95915B081F0E170C84905F90975F905D2A015A72F90D9F190C889E190C95D9
|
||||
:208476008472A20030A20002A20095511305909F1204909E12032E06A6016B0220061F05C0
|
||||
:208496001703209A0D0227034F202F0D01271C7B06406B124F12056B114F12046B104F1269
|
||||
:1D84B600036B03161117057B106B04161717091E091605EF021603FFA6015B1281CE
|
||||
:03961D000000004A
|
||||
:2080000082008083820000008200815E8200815F8200816082008161820081628200816304
|
||||
:208020008200816482008165820000008200000082008166820081678200816882008169C3
|
||||
:208040008200817E8200817F8200819482000000820000008200819582008196820081E569
|
||||
:208060008200827B8200827C820082A38200000082000000820000008200000082000000D0
|
||||
:1D808700AE00612707724F00005A26F9AE004F2709D6979AD700615A26F7CC8080B6
|
||||
:03808000CC85426A
|
||||
:208542005205965C1F041E04A678F71E045CA60AF71E045C5C7FAE50B3F64D2704351F5035
|
||||
:20856200B3CD80A4CD85BFCD82A49AAE85A789CD82BF5B02C60066AB301E04F71E0489CD51
|
||||
:2085820082BF5B02CD91FD35AA50E0725D00672703CD94A54B00CD8F31844B01CD8F3184B2
|
||||
:1D85A20020E55B05810A0A48656C6C6F21204D7920616464726573732069732000A5
|
||||
:2085BF003504530C3509530D35C4530E35015301AE5300F6AA84F73504532A3509532B35BF
|
||||
:2085DF00C4532C35015321AE5320F6AA84F781AE90F389CD82BF5B02AE910A89CD82BF5B72
|
||||
:2085FF0002AE911989CD82BF5B02AE912F89CD82BF5B02AE914B89CD82BF5B02AE91658901
|
||||
:20861F00CD82BF5B02AE918089CD82BF5B02AE918E89CD82BF5B02AE91A289CD82BF5B0287
|
||||
:20863F00AE91B389CD82BF5B02814F90977B03A10027087B03A1012718202BAE5006F6A5A7
|
||||
:20865F0010260461A60161A520261E72A900022018AE5010F64D2B0461A60161A51026092D
|
||||
:20867F0072A9000220034F2002909F8152027B05A10027087B05A101270F203CAE5005F629
|
||||
:20869F00A4F0F772115300200DAE500FF6A4F0F7721153202000AE00731F015F7B0597587A
|
||||
:2086BF005872FB016F036F026F017FAE006F9F1B0502A90095A602F75B0281520616099063
|
||||
:2086DF00F64D27201E0B1F031E03FE1F011E015C1F051E037B06E7017B05F790F6905C1E37
|
||||
:2086FF0001F720DB5B06815209A62B6B017B0CA1012303CC87DDAE006F9F1B0C02A900954C
|
||||
:20871F00F6A1012604A62D6B01AE00719F1B0C02A90095F695889EA100842717160D1704C2
|
||||
:20873F00A101271EA102273AA1042745A1052761CC87D0AE91D0160D908989CD86DA5B046D
|
||||
:20875F00207CAE91D6160D908989CD86DA5B041E04FE1F021E025C160490FF1E027B01F7FF
|
||||
:20877F00205CAE91DC160D908989CD86DA5B04204DAE91E1160D908989CD86DA5B041E04F2
|
||||
:20879F00FE1F061E065C160490FF1E067B01F7202DAE91E7160D908989CD86DA5B041E04F1
|
||||
:2087BF00FE1F081E085C160490FF1E087B01F7200DAE91ED160D908989CD86DA5B045B09A3
|
||||
:2087DF0081520A7B0DA10027097B0DA101272ECC8870AE5005F6A4F06B06AE90EB1F04AE09
|
||||
:2087FF00008FF65F9772FB04F61A06AE5005F7354E530D3520530E72105300202BAE500F98
|
||||
:20881F00F6A4F06B01AE90EB1F02AE0090F65F9772FB02F61A01AE500FF7354E532B3520F5
|
||||
:20883F00532C72105320200090AE008B5F7B0D97581F0972F909AE006B72FB09FE1F07AEE9
|
||||
:20885F004E2072F007908990AE00646590855C90FF5B0A815202AE006F9F1B0502A90095AC
|
||||
:20887F00F6A10227045FCC89167B0588CD86495B010D062A324D27035F207CAE006F9F1B93
|
||||
:20889F000502A90095A601F7160890504F1207974F12069517081F06AE00719F1B0502A910
|
||||
:2088BF000095A604F72031A50227035F204944240FAE00719F1B0502A90095A605F7200D15
|
||||
:2088DF00AE00719F1B0502A90095A604F7AE006F9F1B0502A900957FAE00731F015F7B05FF
|
||||
:2088FF0097585872FB011608EF021606FF7B0588CD87E084AE00015B02815204AE006F9F1B
|
||||
:20891F001B0702A90095F6A10227045FCC89BB7B0788CD86495B01974D26101E0A891E0AAE
|
||||
:20893F00897B0B88CD88735B0520710D082A255424035F2067AE006F9F1B0702A90095A63F
|
||||
:20895F0001F7160A90504F1209974F120895170A1F08200BAE006F9F1B0702A900957FAE43
|
||||
:20897F0000731F035F7B079758581F011E0372FB01160AEF021608FFAE008372FB01160A7F
|
||||
:20899F00EF021608FFAE00719F1B0702A90095A605F77B0788CD87E084AE00015B04815245
|
||||
:2089BF003F1E42F65C1F42A0306B017B01A1012303CC8D01164417361E36FE1F381E385C6A
|
||||
:2089DF001F3C1E36163CFF7B01AB301E38F71E3C5C1F3E1E36163EFF1E3CA620F71E42F6AD
|
||||
:2089FF005C1F42163C72A900021E36FF1E3EF7A145273FA14C2766A14D2603CC8ABBA14EA9
|
||||
:208A1F002603CC8ADAA14F2603CC8B47A1502603CC8B94A1522603CC8BCDA1532603CC8C6D
|
||||
:208A3F000BA1582603CC8CE3A15A2603CC8CF2CC8D011E36FE1F061E065C1F081E36160857
|
||||
:208A5F00FF1E06A620F71E085C163690FF7B0188CD86495B01AB301E08F7CC8D347B018835
|
||||
:208A7F00CD86495B01442410AE91F31636908989CD86DA5B04CC8D34AE00719F1B0102A9A9
|
||||
:208A9F000095A601F7AE006F9F1B0102A90095A601F77B0188CD87E084CC8D341E36FE1F14
|
||||
:208ABF000A1E0A5C163690FF1E0AA620F71E36897B0388CD87065B03CC8D341E36FE1F0EA2
|
||||
:208ADF001E0E5C163690FF1E0EA620F7965C5C891E4489CD84845B044D2628AE00731F1248
|
||||
:208AFF005F7B0197585872FB12E6036B17E6026B16FE163690891618908989CD83D95B0625
|
||||
:208B1F00CC8D341E04891E04897B0588CD88735B055D2603CC8D011E36891E06891E06890C
|
||||
:208B3F00CD83D95B06CC8D341E36FE1F181E185C163690FF1E18A620F7965C5C891E448954
|
||||
:208B5F00CD84845B044D2608AE00641F045F1F021E04891E04897B0588CD89195B055D26E2
|
||||
:208B7F0003CC8D011E36891E06891E0689CD83D95B06CC8D341E36FE1F1A1E1A5C16369030
|
||||
:208B9F00FF1E1AA620F7AE007B1F1C5F7B0197585872FB1CE6036B2FE6026B2EFE163690D5
|
||||
:208BBF00891630908989CD83D95B06CC8D347B0188CD86495B01A5022710AE91F816369021
|
||||
:208BDF008989CD86DA5B04CC8D34AE00719F1B0102A90095A601F7AE006F9F1B0102A90010
|
||||
:208BFF00957F7B0188CD87E084CC8D341E36FE1F301E305C163690FF1E30A620F7965C5C7A
|
||||
:208C1F00891E4489CD84845B044D271C1E04A303207B03A2007B02A2002F0DAE4E20130467
|
||||
:208C3F004F12034F12022E4B0D012619AE530DF690954F0F21AE530EF60F241A2197909EA8
|
||||
:208C5F001A2495201BAE532BF690954F0F29AE532CF60F261A296B2B909E1A266B2A1E2A9D
|
||||
:208C7F00905F7B37887B3788899089CD83D95B06CC8D341E36891E06891E0689CD83D95BFE
|
||||
:208C9F00061604AE006B1F345F7B0197581F3A1E3472FB3AFFAE008B72FB3A6F017F0D0131
|
||||
:208CBF002611909E0F0CAE530DF74FAE530E909FF72062909E0F10AE532BF74FAE532C908E
|
||||
:208CDF009FF72051AE00719F1B0102A90095A602F72042AE00719F1B0102A90095A603F799
|
||||
:208CFF0020331E44E6016B1FF66B1E161E905C17221622FF161EA66590F71622905C1732ED
|
||||
:208D1F001632FF1622A67290F7162272A90002FF1E32A672F75B3F81523A7B3DA100270933
|
||||
:208D3F007B3DA1012772CC8F2EAE008B1F2F1E2FFE1F351E352742AE530DF690954F0F34FB
|
||||
:208D5F00AE530EF60F391A3497909E1A399572F0351F37AE006BFE1F041E371304240916D6
|
||||
:208D7F000417371E2F6F017F7B370F06AE530DF77B38954F9EAE530EF7AE5005F6A4F06B47
|
||||
:208D9F0008AE90EB1F09AE008FF65F9772FB09F61A08AE5005F7206FAE008D1F311E31FE43
|
||||
:208DBF001F0D1E0D2742AE532BF690954F0F12AE532CF60F191A1297909E1A199572F00DAA
|
||||
:208DDF001F01AE006DFE1F1F1E01131F2409161F17011E316F017F7B010F2DAE532BF77B9E
|
||||
:208DFF0002954F9EAE532CF7AE500FF6A4F06B03AE90EB1F0BAE0090F65F9772FB0BF61AA2
|
||||
:208E1F0003AE500FF72000AE008F9F1B3D6B149EA9006B131E13F6442403CC8EFCAE00738B
|
||||
:208E3F00905F7B3D909790589058171572FB151F171E17E6039097E6029095FE72A200012C
|
||||
:208E5F009FA2006B229EA2006B211E17EF021621FFAE006F9F1B3D02A90095F6A101262AC1
|
||||
:208E7F00AE007B72FB15E6039097E6029095E60188F66B268472A20001A2006B2A7B25A203
|
||||
:208E9F00006B29EF021629FF202CAE007B72FB151F0F1E0FE6039097E6029095FE72A90068
|
||||
:208EBF0001171D9FA9006B1C9EA9006B1B1E0F161DEF02161BFFAE00719F1B3D02A90095EB
|
||||
:208EDF00F6A102270FAE00719F1B3D02A90095F6A10326097B3D88CD868B842032AE006F74
|
||||
:208EFF009F1B3D02A90095F697161390F6889FA1018426104D26071E13A607F720114A1E75
|
||||
:208F1F0013F7200B4C1E13F7A10723031E137F5B3A8152257B2888CD86495B016B02AE0040
|
||||
:208F3F006F9F1B2802A90095F6A1012603A601214F6B01AE00719F1B2802A90095F66B0398
|
||||
:208F5F007B03A1012603CC90537B03A1022603CC90A55F7B289758581F1C7B03A1032603E0
|
||||
:208F7F00CC90C17B03A1042603CC901E7B03A1052703CC90E8AE00731F041E0472FB1C1F4F
|
||||
:208F9F001A1E1AE6036B19E6026B18FE1F161E18A300027B17A2007B16A2002E16AE0071B0
|
||||
:208FBF001F145F7B289772FB141F121E12A602F7CC90E8AE00831F101E1072FB1C1F0E1E9F
|
||||
:208FDF000EE6036B0DE6026B0CFE1F0A1E0C72F0181F087B0B12176B077B0A1216881E0935
|
||||
:208FFF00A300647B08A20084A2002E03CC90E8AE00719F1B2802A90095A604F7CC90E8AEB7
|
||||
:20901F0000731F241E2472FB1C1F221E22E6036B21E6026B20FE1F1E1E20A300027B1FA2ED
|
||||
:20903F00007B1EA2002E0DAE00719F1B2802A90095A602F70D022603CC90E80D012732AE2A
|
||||
:20905F0000719F1B2802A90095F6A10126147B02442476AE00719F1B2802A90095A603F750
|
||||
:20907F002067AE00719F1B2802A90095A602F720587B02A5022752AE00719F1B2802A900A9
|
||||
:20909F0095A602F72043AE006F9F1B2802A90095F6A1022634AE00719F1B2802A900957F28
|
||||
:2090BF002027AE006F9F1B2802A90095F6A1022618AE007B72FB1C6F036F026F017FAE0002
|
||||
:2090DF00719F1B2802A900957F5B2581080A0206040501090945202D2067657420656E64DF
|
||||
:2090FF002D73776974636865730A00094C202D206D6F7665204343570A00094D202D206706
|
||||
:20911F006574206D6F746F722073746174650A00094E202D20676F20666F72204E20737445
|
||||
:20913F002E2F67657420726573740A00094F202D2070756C6C206F66662074686520737743
|
||||
:20915F00697463680A000950202D206765742063757272656E7420706F736974696F6E0A76
|
||||
:20917F00000952202D206D6F76652043570A000953202D206765742F73657420737065653C
|
||||
:20919F00640A000958202D2073746F70206D6F746F720A00095A202D2073746F7020616ECE
|
||||
:2091BF0064207A65726F20706F736974696F6E0A0052454C415800494E464D560053544FBB
|
||||
:1E91DF0050004D56535450004F4646535700554E444546002045203100204520320024
|
||||
:2097A40009C409C40202000000000000000000000000000000000000000000000000000007
|
||||
:0697C4000000000000009F
|
||||
:2091FD00AE951689CD82BF5B02AE951989CD82BF5B02AE953A89CD82BF5B02AE955789CD54
|
||||
:20921D0082BF5B02AE956289CD82BF5B02CD85EEAE958289CD82BF5B02AE959189CD82BF96
|
||||
:20923D005B02AE95A889CD82BF5B02AE95BC89CD82BF5B02AE95DA89CD82BF5B02815213EB
|
||||
:20925D000F061E16F65C1F16A0306B017B01A10223131E18894BFF4BFF4BFF4BFFCD83D980
|
||||
:20927D005B06CC936D161817071E07FE1F121E125C1F101E071610FF7B01AB301E12F71E63
|
||||
:20929D00105C160790FF1E10A620F7161690F6957B01A1002606A6016B0A20020F0A7B014B
|
||||
:2092BD00A1012606A6016B0920020F097B01A1022606A6016B0F20020F0F9E4D26260D0A74
|
||||
:2092DD00260A0D09260E0D0F26122071AE5266F66B062069AE5268F66B062061AE526AF60C
|
||||
:2092FD006B062059965C5C899089CD84845B044D27110D022B0DAE00FF13044F12034F12EE
|
||||
:20931D00022E121E07894BFF4BFF4BFF4BFFCD83D95B06203B7B056B060D0A260A0D0926BF
|
||||
:20933D000E0D0F26122016AE52667B06F7200EAE52687B06F72006AE526A7B06F77B060FF4
|
||||
:20935D000D5F16079089887B108889CD83D95B065B13815210AE00911F041E041C00041F8C
|
||||
:20937D000D160D170135AA50E01613170A1E0AF66B031E045C5CC60066AB30F77B03A1307C
|
||||
:20939D0027067B03A131260E965C891E0C89CD89BE5B04CC948C1E0D7B03F71E0D5C1F012B
|
||||
:2093BD00A620F71E0D5C5C1F06160617011E0A5C1F131E0D1C00031F0F7B03A147272D7B34
|
||||
:2093DD0003A14C27357B03A15027717B03A15427787B03A1722703CC9489355550E0350078
|
||||
:2093FD0050E1350150E235AA50E020FEC60066AB301E06F7160F170120751E13F64D271BE0
|
||||
:20941D00AE500A88F69584A13026099EAA10AE500AF720079EA4EFAE500AF7160617081691
|
||||
:20943D000F1701AE500AF6A5102706A6306B0C2004A6316B0C1E087B0CF72033965C891EB9
|
||||
:20945D001589CD925B5B0420261E067F1E0489CD82BF5B02AE00624B0489CD82FC5B03CEDA
|
||||
:20947D0095F389CD82BF5B02A60120194F20161E017F1E0489CD82BF5B02CE95F389CD820C
|
||||
:20949D00BF5B02A6015B1081520DAE00421F0616061703AE00021F0C1E0C5C1F011E0CF6B5
|
||||
:2094BD00A030725D0067274EC10066270EA132270A725F0067725F0068203B1601170A169A
|
||||
:2094DD000317080F057B05C1006824141E0AF61E0A5C1F0A1E08F71E085C1F080C0520E5B1
|
||||
:2094FD00725F0068725F00671E0689CD93705B024D2603CD91FD5B0D810A0A00436F6D6DAA
|
||||
:20951D00616E642070726F746F636F6C3A205B206164647220636F6D6D616E640020646115
|
||||
:20953D007461205D0A092062726F61646361737420616464723A20620A00636F6D6D616EDA
|
||||
:20955D0064733A0A00302F31202D20636F6D6D616E6420666F7220676976656E206D6F74E7
|
||||
:20957D006F723A0A0072202D207265736574204D43550A0047202D2067657420626F6172E0
|
||||
:20959D006420616464726573730A004C20302F31202D204C4544206F6E2F6F66660A00503B
|
||||
:2095BD002063682076616C202D2050574D206F6E206368616E6E656C2063680A0054202D53
|
||||
:2095DD002074696D6520636F756E7465722076616C75650A0A0095F5205D0A005B2058202A
|
||||
:0195FD00006D
|
||||
:2097CA005B205820000000000000000000000000000000000000000000000000000000008C
|
||||
:2095FE001E0916072A03CD97908990891E0916072A03CD9790899089CD96235B087B032AAE
|
||||
:20961E0003CD97908152030F030F017B0A484F494D262E160C1E0A905859170C1F0A1E083A
|
||||
:20963E00130C7B07120B7B06120A240D160C1E0A549056170C1F0A20080C017B016B032071
|
||||
:20965E00CA7B036B021E0872F00C7B07120B90977B06120A25061F0890951706160C1E0A62
|
||||
:20967E00549056170C1F0A7B020A024D26D71E0816065B03811E0916072A03CD97908990D4
|
||||
:20969E00891E0916072A03CD9790899089CD96BA5B087B0318072A03CD97908152065F1F87
|
||||
:2096BE00051F03A6206B027B09484F496B01160B1E09905859170B1F0916051E0390585912
|
||||
:2096DE0017051F030D0127067B06AA016B061E0572F00F7B04120E90977B03120D250C1F0F
|
||||
:2096FE0005909517037B0CAA016B0C0A0226B81E0B16095B06815F89897B0A977B0E421FD4
|
||||
:20971E00037B09977B0E4272FB021F024FA9006B017B0A977B0D4272FB021F024F19016B04
|
||||
:20973E00017B0A977B0C4272FB011F017B09977B0D4272FB011F017B08977B0E4272FB01D1
|
||||
:20975E001F017B07977B0E429F1B016B017B0A977B0B429F1B016B017B09977B0C429F1B17
|
||||
:1D977E00016B017B08977B0D429F1B016B019085858190535D2703535C81905C8134
|
||||
:208040008200817E8200817F820081948200000082000000820081958200819682008197B7
|
||||
:208060008200822D8200822E820082558200000082000000820000008200000082000000BA
|
||||
:1D808700AE00412707724F00005A26F9AE004E2709D69617D700415A26F7CC80807B
|
||||
:03808000CC84D3DA
|
||||
:2084D300AE50B3F64D2704351F50B3CD80A4CD84F8CD82569A35AA50E0725D004827F6CD8A
|
||||
:0584F300930C20F18153
|
||||
:2084F8003504530C3509530D35C4530E35015301AE5300F6AA84F73504532A3509532B3587
|
||||
:20851800C4532C35015321AE5320F6AA84F781AE8F5A89CD82635B02AE8F7189CD82635B26
|
||||
:2085380002AE8F8089CD82635B02AE8F9689CD82635B02AE8FB289CD82635B02AE8FCC8948
|
||||
:20855800CD82635B02AE8FE789CD82635B02AE8FF589CD82635B02AE900989CD82635B028F
|
||||
:20857800AE901A89CD82635B02814F90977B03A10027087B03A1012718202BAE5006F6A565
|
||||
:2085980010260461A60161A520261E72A900022018AE5010F64D2B0461A60161A5102609F5
|
||||
:2085B80072A9000220034F2002909F8152047B07A10027087B07A101270F2067AE5005F6C0
|
||||
:2085D800A4F0F772115300200DAE500FF6A4F0F7721153202000AE00521F035F7B0797585F
|
||||
:2085F800581F011E0372FB016F036F026F017FAE004E9F1B0702A90095A602F7AE00509F51
|
||||
:208618001B0702A90095F6A103260DAE005A72FB016F036F026F017FAE00509F1B0702A961
|
||||
:2086380000957F5B04815206160990F64D27201E0B1F031E03FE1F051E055C1F011E037BD4
|
||||
:2086580002E7017B01F790F6905C1E05F720DB5B06815209A62B6B017B0CA1012303CC8702
|
||||
:2086780041AE004E9F1B0C02A90095F6A1012604A62D6B01AE00509F1B0C02A90095F6950F
|
||||
:20869800889EA100842717160D1708A101271EA102273AA1042745A1052761CC8734AE9008
|
||||
:2086B80037160D908989CD863E5B04207CAE903D160D908989CD863E5B041E08FE1F041E85
|
||||
:2086D800045C160890FF1E047B01F7205CAE9043160D908989CD863E5B04204DAE90481625
|
||||
:2086F8000D908989CD863E5B041E08FE1F021E025C160890FF1E027B01F7202DAE904E16D3
|
||||
:208718000D908989CD863E5B041E08FE1F061E065C160890FF1E067B01F7200DAE905416C0
|
||||
:208738000D908989CD863E5B045B0981520A7B0DA10027097B0DA101272ECC87D4AE50053F
|
||||
:20875800F6A4F06B0AAE8F521F06AE006EF65F9772FB06F61A0AAE5005F7354E530D352087
|
||||
:20877800530E72105300202BAE500FF6A4F06B01AE8F521F08AE006FF65F9772FB08F61A19
|
||||
:2087980001AE500FF7354E532B3520532C72105320200090AE006A5F7B0D97581F0472F9C6
|
||||
:2087B80004AE004A72FB04FE1F02AE4E2072F002908990AE00646590855C90FF5B0A81523D
|
||||
:2087D80002AE004E9F1B0502A90095F6A10227045FCC887A7B0588CD85825B010D062A32EC
|
||||
:2087F8004D27035F207CAE004E9F1B0502A90095A601F7160890504F1207974F1206951746
|
||||
:20881800081F06AE00509F1B0502A90095A604F72031A50227035F204944240FAE00509F77
|
||||
:208838001B0502A90095A605F7200DAE00509F1B0502A90095A604F7AE004E9F1B0502A9ED
|
||||
:2088580000957FAE00521F015F7B0597585872FB011608EF021606FF7B0588CD874484AE3C
|
||||
:2088780000015B02815204AE004E9F1B0702A90095F6A10227045FCC891F7B0788CD858239
|
||||
:208898005B01974D26101E0A891E0A897B0B88CD87D75B0520710D082A255424035F2067F9
|
||||
:2088B800AE004E9F1B0702A90095A601F7160A90504F1209974F120895170A1F08200BAEE5
|
||||
:2088D800004E9F1B0702A900957FAE00521F015F7B079758581F031E0172FB03160AEF02A8
|
||||
:2088F8001608FFAE006272FB03160AEF021608FFAE00509F1B0702A90095A605F77B0788EA
|
||||
:20891800CD874484AE00015B0481523F1E42F65C1F42A0306B057B05A1012303CC8C621698
|
||||
:2089380044173E1E3EFE1F2E1E2E5C1F301E3E1630FF7B05AB301E2EF71E305C1F321E3E52
|
||||
:208958001632FF1E30A620F71E42F65C1F42163072A900021E3EFF1E32F7A145273FA14C5C
|
||||
:208978002766A14D2603CC8A1FA14E2603CC8A3EA14F2603CC8AAAA1502603CC8AF6A152A8
|
||||
:208998002603CC8B2FA1532603CC8B6DA1582603CC8C44A15A2603CC8C53CC8C621E3EFE8E
|
||||
:2089B8001F341E345C1F361E3E1636FF1E34A620F71E365C163E90FF7B0588CD85825B01C8
|
||||
:2089D800AB301E36F7CC8C957B0588CD85825B01442410AE905A163E908989CD863E5B043E
|
||||
:2089F800CC8C95AE00509F1B0502A90095A601F7AE004E9F1B0502A90095A601F77B058836
|
||||
:208A1800CD874484CC8C951E3EFE1F381E385C163E90FF1E38A620F71E3E897B0788CD869A
|
||||
:208A38006A5B03CC8C951E3EFE1F3A1E3A5C163E90FF1E3AA620F7965C891E4489CD84153E
|
||||
:208A58005B044D2628AE00521F3C5F7B0597585872FB3CE6036B19E6026B18FE163E908997
|
||||
:208A7800161A908989CD836C5B06CC8C951E03891E03897B0988CD87D75B055D2603CC8C39
|
||||
:208A9800621E3E891E05891E0589CD836C5B06CC8C951E3EFE1F1A1E1A5C163E90FF1E1AD3
|
||||
:208AB800A620F7965C891E4489CD84155B044D2608AE00641F035F1F011E03891E03897BB9
|
||||
:208AD8000988CD887D5B055D2603CC8C621E3E891E05891E0589CD836C5B06CC8C951E3ED8
|
||||
:208AF800FE1F1C1E1C5C163E90FF1E1CA620F7AE005A1F1E5F7B0597585872FB1EE6036B6B
|
||||
:208B180023E6026B22FE163E90891624908989CD836C5B06CC8C957B0588CD85825B01A577
|
||||
:208B3800022710AE905F163E908989CD863E5B04CC8C95AE00509F1B0502A90095A601F7D9
|
||||
:208B5800AE004E9F1B0502A900957F7B0588CD874484CC8C951E3EFE1F241E245C163E9053
|
||||
:208B7800FF1E24A620F7965C891E4489CD84155B044D271C1E03A303207B02A2007B01A200
|
||||
:208B9800002F0DAE4E2013034F12024F12012E4B0D052619AE530DF690954F0F27AE530E03
|
||||
:208BB800F60F281A2797909E1A2895201BAE532BF690954F0F2BAE532CF60F061A2B6B0B95
|
||||
:208BD800909E1A066B0A1E0A905F7B3F887B3F88899089CD836C5B06CC8C951E3E891E056B
|
||||
:208BF800891E0589CD836C5B061603AE004A1F0C5F7B0597581F0E1E0C72FB0EFFAE006A18
|
||||
:208C180072FB0E6F017F0D052611909E0F12AE530DF74FAE530E909FF72062909E0F2CAE18
|
||||
:208C3800532BF74FAE532C909FF72051AE00509F1B0502A90095A602F72042AE00509F1BDE
|
||||
:208C58000502A90095A603F720331E44E6016B11F66B101610905C17081608FF1610A6650F
|
||||
:208C780090F71608905C17141614FF1608A67290F7160872A90002FF1E14A672F75B3F81A4
|
||||
:208C980052457B4888CD85825B016B02AE00509F1B4802A90095F66B04AE004E9F1B480298
|
||||
:208CB800A90095F6A1012603A601214F6B017B48A10027097B48A1012776CC8F4FAE006AC2
|
||||
:208CD8001F191E19FE1F1B1E1B2746AE530DF690954F0F1EAE530EF60F1F1A1E97909E1A40
|
||||
:208CF8001F9572F01B1F21AE004AFE7B22891102857B218912018524071F211E196F017FE9
|
||||
:208D18007B210F23AE530DF77B22954F9EAE530EF7AE5005F6A4F06B25AE8F521F26AE00A4
|
||||
:208D38006EF65F9772FB26F61A25AE5005F72073AE006C1F281E28FE1F2A1E2A2746AE53C8
|
||||
:208D58002BF690954F0F2DAE532CF60F2E1A2D97909E1A2E9572F02A1F05AE004CFE1F30EA
|
||||
:208D78001E051330240D16301732163217051E286F017F7B050F38AE532BF77B06954F9E2F
|
||||
:208D9800AE532CF7AE500FF6A4F06B03AE8F521F3EAE006FF65F9772FB3EF61A03AE500FD2
|
||||
:208DB800F72000AE006E9F1B486B459EA9006B441E44F6A4015F417B484158581F364D27A6
|
||||
:208DD80003CC8E84AE005272FB361F341E34E6039097E6029095FE72A200019FA2006B086E
|
||||
:208DF8009EA2006B071E34EF027B08E7017B07F7905D26081E072604A6026B040D01272AA2
|
||||
:208E1800AE005A72FB36E6039097E6029095E60188F66B0C8472A20001A2006B107B0BA2B8
|
||||
:208E3800006B0FEF02160FFF202CAE005A72FB361F131E13E6039097E6029095FE72A900FB
|
||||
:208E58000117179FA9006B169EA9006B151E131617EF021615FF7B04A10227067B04A10350
|
||||
:208E7800260A7B4888CD85C484CC8F4F1E44F60D0127104D26071E44A607F720114A1E4421
|
||||
:208E9800F7200B4C1E44F7A10723031E447F7B04A1012603A601214F4D265B887B05A10468
|
||||
:208EB8008427537B04A1052703CC8F4FAE006272FB36E6039097E6029095FE1F3AAE00527C
|
||||
:208ED80072FB36E6036B43E6026B42FE1F4072F2427B3B1241977B3A12409590A300649F36
|
||||
:208EF800A2009EA2002F50AE00509F1B4802A90095A604F720410D02273D0D0127264D2775
|
||||
:208F1800147B02442431AE00509F1B4802A90095A603F72022AE00509F1B4802A90095A607
|
||||
:208F380002F720137B02A502270DAE00509F1B4802A90095A602F75B4581080A0206040572
|
||||
:208F580001090945202D2067657420656E642D73776974636865730A00094C202D206D6F5E
|
||||
:208F78007665204343570A00094D202D20676574206D6F746F722073746174650A00094E01
|
||||
:208F9800202D20676F20666F72204E2073742E2F67657420726573740A00094F202D2070E0
|
||||
:208FB800756C6C206F666620746865207377697463680A000950202D206765742063757264
|
||||
:208FD80072656E7420706F736974696F6E0A000952202D206D6F76652043570A0009532062
|
||||
:208FF8002D206765742F7365742073706565640A000958202D2073746F70206D6F746F7231
|
||||
:209018000A00095A202D2073746F7020616E64207A65726F20706F736974696F6E0A005274
|
||||
:20903800454C415800494E464D560053544F50004D56535450004F4646535700554E4445DD
|
||||
:0C90580046002045203100204520320059
|
||||
:2096200009C409C4020200000000000000000000000000000000000000000000000000008C
|
||||
:0696400000000000000024
|
||||
:20906400AE939389CD82635B02AE939689CD82635B02AE93B789CD82635B02AE93D489CD16
|
||||
:2090840082635B02AE93DF89CD82635B02CD8527AE93FF89CD82635B02AE940E89CD8263F6
|
||||
:2090A4005B02AE942589CD82635B02AE943989CD82635B02AE945789CD82635B0281521326
|
||||
:2090C4000F061E16F65C1F16A0306B017B01A10223131E18894BFF4BFF4BFF4BFFCD836C88
|
||||
:2090E4005B06CC91D4161817071E07FE1F121E125C1F101E071610FF7B01AB301E12F71E99
|
||||
:20910400105C160790FF1E10A620F7161690F6957B01A1002606A6016B0A20020F0A7B01E5
|
||||
:20912400A1012606A6016B0920020F097B01A1022606A6016B0F20020F0F9E4D26260D0A0E
|
||||
:20914400260A0D09260E0D0F26122071AE5266F66B062069AE5268F66B062061AE526AF6A6
|
||||
:209164006B062059965C5C899089CD84155B044D27110D022B0DAE00FF13044F12034F12F7
|
||||
:20918400022E121E07894BFF4BFF4BFF4BFFCD836C5B06203B7B056B060D0A260A0D0926C7
|
||||
:2091A4000E0D0F26122016AE52667B06F7200EAE52687B06F72006AE526A7B06F77B060F8F
|
||||
:2091C4000D5F16079089887B108889CD836C5B065B13815210AE00701F0D1E0D1C00041FA3
|
||||
:2091E4000F160F170135AA50E0161317071E07F66B031E0D5C5CC60046AB30F77B03A13030
|
||||
:2092040027067B03A131260E965C891E0989CD89225B04CC92F31E0F7B03F71E0F5C1F01FB
|
||||
:20922400A620F71E0F5C5C1F0B160B17011E075C1F131E0F1C00031F047B03A147272D7BCE
|
||||
:2092440003A14C27357B03A15027717B03A15427787B03A1722703CC92F0355550E03500AD
|
||||
:2092640050E1350150E235AA50E020FEC60046AB301E0BF71604170120751E13F64D271BA0
|
||||
:20928400AE500A88F69584A13026099EAA10AE500AF720079EA4EFAE500AF7160B17091626
|
||||
:2092A400041701AE500AF6A5102706A6306B062004A6316B061E097B06F72033965C891E70
|
||||
:2092C4001589CD90C25B0420261E0B7F1E0D89CD82635B02AE00424B0489CD828F5B03CEEB
|
||||
:2092E400947089CD82635B02A60120194F20161E017F1E0D89CD82635B02CE947089CD825E
|
||||
:20930400635B02A6015B1081520CAE00221F0B160B1701AE00021F091E095C1F041E09F6CA
|
||||
:20932400A0306B06725D004827627B06A1322603A601214F887B07C1004684270D4D260A6E
|
||||
:20934400725F0048725F004720424D2706350100492004725F0049160417071E010F037B5B
|
||||
:2093640003C100472410160790F61607905C1707F75C0C0320E9725F0047725F00481E0B1B
|
||||
:2093840089CD91D75B024D2603CD90645B0C810A0A00436F6D6D616E642070726F746F6305
|
||||
:2093A4006F6C3A205B206164647220636F6D6D616E64002064617461205D0A092062726FB2
|
||||
:2093C40061646361737420616464723A20620A00636F6D6D616E64733A0A00302F31202D25
|
||||
:2093E40020636F6D6D616E6420666F7220676976656E206D6F746F723A0A0072202D2072E4
|
||||
:2094040065736574204D43550A0047202D2067657420626F61726420616464726573730A5C
|
||||
:20942400004C20302F31202D204C4544206F6E2F6F66660A00502063682076616C202D206E
|
||||
:2094440050574D206F6E206368616E6E656C2063680A0054202D2074696D6520636F756EE4
|
||||
:179464007465722076616C75650A0A009472205D0A005B20582000D5
|
||||
:209646005B2058200000000000000000000000000000000000000000000000000000000011
|
||||
:20947B001E0916072A03CD960D8990891E0916072A03CD960D899089CD94A05B087B032ABF
|
||||
:20949B0003CD960D8152030F030F017B0A484F494D262E160C1E0A905859170C1F0A1E0843
|
||||
:2094BB00130C7B07120B7B06120A240D160C1E0A549056170C1F0A20080C017B016B0320F6
|
||||
:2094DB00CA7B036B021E0872F00C7B07120B90977B06120A25061F0890951706160C1E0AE7
|
||||
:2094FB00549056170C1F0A7B020A024D26D71E0816065B03811E0916072A03CD960D8990DD
|
||||
:20951B00891E0916072A03CD960D899089CD95375B087B0318072A03CD960D8152065F1F97
|
||||
:20953B00051F03A6206B027B09484F496B01160B1E09905859170B1F0916051E0390585996
|
||||
:20955B0017051F030D0127067B06AA016B061E0572F00F7B04120E90977B03120D250C1F93
|
||||
:20957B0005909517037B0CAA016B0C0A0226B81E0B16095B06815F89897B0A977B0E421F58
|
||||
:20959B00037B09977B0E4272FB021F024FA9006B017B0A977B0D4272FB021F024F19016B89
|
||||
:2095BB00017B0A977B0C4272FB011F017B09977B0D4272FB011F017B08977B0E4272FB0156
|
||||
:2095DB001F017B07977B0E429F1B016B017B0A977B0B429F1B016B017B09977B0C429F1B9C
|
||||
:1D95FB00016B017B08977B0D429F1B016B019085858190535D2703535C81905C81B9
|
||||
:00000001FF
|
||||
|
||||
@ -24,28 +24,34 @@
|
||||
#include "uart.h"
|
||||
#include "hardware.h"
|
||||
|
||||
U8 uart_rdy = 0;
|
||||
U8 rx_idx = 0, tx_idx = 0, tx_len = 0;
|
||||
U8 rx_idx = 0, uart_rdy = 0, broadcast = 0;
|
||||
|
||||
U8 UART_rx[UART_BUF_LEN]; // buffers for received/transmitted data
|
||||
U8 UART_tx[UART_BUF_LEN];
|
||||
U8 UART_rx[UART_BUF_LEN]; // buffer for received data
|
||||
|
||||
void uart_init(){
|
||||
// PD5 - UART2_TX
|
||||
PORT(UART_PORT, DDR) |= UART_TX_PIN; // output
|
||||
PORT(UART_PORT, CR1) &= ~UART_TX_PIN; // open-drain
|
||||
// UART TX will automatically switch into PuPd mode when UART_CR2_TEN
|
||||
// 8 bit, no parity, 1 stop (UART_CR1/3 = 0 - reset value)
|
||||
// 9600 on 16MHz: DIV=0x0693 -> BRR1=0x68, BRR2=0x03
|
||||
UART2_BRR1 = 0x68; UART2_BRR2 = 0x03;
|
||||
UART2_CR2 = UART_CR2_TEN | UART_CR2_REN | UART_CR2_RIEN; // Allow TX/RX, generate ints on rx
|
||||
UART2_CR2 = UART_CR2_REN | UART_CR2_RIEN; // Allow TX/RX, generate ints on rx
|
||||
}
|
||||
|
||||
void uart_write(const char *str){
|
||||
if(broadcast) return; // don't write anything on broadcast commands
|
||||
UART2_CR2 |= UART_CR2_TEN; // turn Tx on
|
||||
while(*str){
|
||||
UART2_DR = *str++;
|
||||
while(!(UART2_SR & UART_SR_TC));
|
||||
}
|
||||
UART2_CR2 &= ~UART_CR2_TEN; // turn Tx off
|
||||
/*
|
||||
while(tx_len) {IWDG_KR = KEY_REFRESH;}
|
||||
UART2_CR2 |= UART_CR2_TEN;
|
||||
do{
|
||||
UART_tx[tx_len++] = *str++;
|
||||
}while(*str && tx_len < UART_BUF_LEN);
|
||||
UART2_CR2 |= UART_CR2_TIEN; // enable TXE interrupt
|
||||
*/
|
||||
}
|
||||
|
||||
void printUint(const U8 *val, U8 len){
|
||||
|
||||
@ -28,9 +28,9 @@
|
||||
|
||||
#define UART_BUF_LEN 32
|
||||
|
||||
|
||||
extern U8 UART_rx[];
|
||||
extern U8 UART_tx[];
|
||||
extern U8 uart_rdy, rx_idx, tx_idx, tx_len;
|
||||
extern U8 uart_rdy, rx_idx, broadcast;
|
||||
|
||||
|
||||
void uart_init();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user