-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG
153 lines (129 loc) · 7.15 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
! - исправлены ошибки
+ - новые возможности
- - убран лишний код
Версия 0.1, январь 2012
Начальная версия
Версия 0.2, февраль 2012
! исправлены ошибки
+ используются команды, специфичные для конкретного контроллера (по возможности)
- movw - работает
- mul - работает
+ в словах IN, OUT, |=, &=~, != по возможности используются команды in, out
+ слова ['], '
! в EERTOS исправлены неточные временные интервалы для mega8
Версия 0.3, февраль 2012
! исправлены ошибки
+ теперь используется только словарь TARGET, поэтому стало проще вылавливать
трудноуловимые ошибки, если слово было в словаре FORTH, но не было в TARGET. Сейчас
просто выдается сообщение о ненайденном слове
Версия 0.4, март 2012
! исправлены ошибки
+ добавлены новые слова U<, WITHIN, CMOVE, CMOVEP, 2VARIABLE, 2EVARIABLE, 2CONSTANT
! дополнено и исправлено руководство
Версия 0.5, апрель 2012
+ добавлена оптимизация хвостовой рекурсии
+ новое слово CALL-ONLY:
Версия 0.6, апрель 2012
+ новые слова SET, CLEAR, MASK, TOGGLE, STORE - аналоги |= , &=~ , &= , ^= , !=
+ новый пример tst_spi.spf, m168_SPI.dsn - управление регистрами 74HC595 по интерфейсу SPI
+ слова для временных задержек вынесены в библиотеку lib/delay.spf
+ слова ICREATE и IDOES> заменены на PCREATE и PDOES>
! исправлена и дополнена документация
+ compile.bat для Windows
Версия 0.7, апрель 2012
+ слова SET, CLEAR по возможности компилируют инструкции sbi, cbi
+ все примеры перенесены в индивидуальные каталоги в каталоге examples вместе со
схемами proteus-a
+ для каждого примера сделан свой Makefile и скомпилировать его можно просто командой make,
прошить - make flash, очистить от ненужных файлов - make clean
+ некоторая оптимизация кода
+ дополнена документация
Версия 0.7.1, май-июль 2012
+ новый контроллер ATMega128
! исправлен пример clock
! исправлена библиотека eertos
Версия 0.8, август 2012
+ оптимизация литералов
! исправлен buttons.spf
! исправлен пример clock.spf
! незначительные исправления
! изменены слова для манипулирования битами и для работы с портами
! исправлено слово UM+
Версия 0.9, август 2012
+ оптимизация DROP literal, popt pusht
! исправлен цикл DO..LOOP
+ добавлено слово +LOOP и исправлено, спасибо Ethereal!
+ добавлено слово J
+ доработан листинг
+ доработан дизассемблер
! исправлен clock.spf
Версия 1.0, август 2012
! оптимизированы по литералам DO, ?DO и +LOOP
! слова >> и << изменены на RSHIFT и LSHIFT
! слова: . LEAVE приведены к стандарту
+ добавлены слова: UNLOOP D< D0< FM/MOD SPACE SPACES U. */ <>
- удалены слова: M/MOD
! исправлены слова: MIN CMOVE UM/MOD 2SWAP
! подправлен листинг
! доработан дизассемблер
! исправлен баг в SP-FORTH, когда отдельно взятый знак "-" воспринимается как число 0
+ добавлен пример: examples/tester.spf, программа тестирования правильности выполнения слов
Версия 1.1, сентябрь 2012
+ заготовка к библиотеке usart (реализован вывод без прерываний)
+ пример tst_usart.spf
! "причесан" tester.spf, добавлен вывод сообщений на терминал
! оптимизировано по литералам слово CELLS
+ новые слова SP" ." CR .SN .S [CHAR]
+ расширены возможности вывода отладочных сообщений
+ дополнена документация
Версия 1.2, декабрь 2012 - январь 2013
+ новое слово FCONST - обычная константа форта
+ новое слово NIBBLE-SWAP
+ простые порты
+ группы линий
+ шины
+ комментарии в листинге с помощью слова \\
+ оптимизация
+ библиотека lcd переписана с помощью шин
+ makefile в папке examples, который позволяет скомпилировать все примеры сразу
Версия 1.3, январь 2013
! исправлены ошибки
! частота CPU теперь задается в герцах
+ оптимизация
+ добавлены слова VECT, IS, EXP2
! слово EMIT переопределено через VECT
! все слова дают ошибку при попытке использовать их не во время целевой компиляции
+ добавлена функция вывода больших цифр и букв в библиотеку LCD (см. пример lcd_big)
+ прерывание таймера переписано на ассемблере, добавлена функция удаления задачи из очереди (eertos)
+ библиотека buttons переписана с помощью групп портов (ports.spf)
+ дополнена документация
Версия 1.3, август 2019
+ автовключение слов
Версия 1.4, сентябрь 2019
+ рефакторинг
+ быстрые/медленные литералы
Version 1.5, November 2019
+ RC5, LCD I2C libraries
! some critical bugfixes
! documentation was updated
Version 1.5.1, November 2019
+ libraries refactoring
Version 1.5.2, November 2019
+ memory bit operations
Version 1.5.3, November 2019
+ optimized lpm instruction
+ optimized I2C library
+ LCD menu optimization
Version 1.5.4, November 2019
+ new ~AND word
Version 1.5.5, November 2019
+ Preamp changes
+ LCD Menu fixes
Version 1.5.6, September 2024
+ new device ATMega328p
+ new example - blinky for Arduino Nano 3.0 (atmega328p)
+ sp-forth is working for Ubuntu 24.04
Version 1.5.7, September 2024
+ new library for stepper motor + exapmles
+ new rtc+uart example
+ new hall sensor example