Skip to content

Commit 0e0044a

Browse files
author
nofeletru
committed
Поддержка 3 байта sreg
1 parent d210617 commit 0e0044a

File tree

4 files changed

+218
-50
lines changed

4 files changed

+218
-50
lines changed

software/main.lfm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,7 @@ object MainForm: TMainForm
452452
Font.Height = -12
453453
HideSelection = False
454454
Lines.Strings = (
455-
'Программатор SPI, I2C, Microwire EEPROM v1.3.9'
455+
'Программатор SPI, I2C, Microwire FLASH/EEPROM v1.3.10'
456456
'http://forum.easyelectronics.ru/viewtopic.php?f=17&t=10947'
457457
'tifa@nm.ru'
458458
)

software/main.pas

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -572,6 +572,7 @@ procedure WriteFlash25(var RomStream: TMemoryStream; StartAddress, WriteSize: ca
572572
UsbAsp25_ReadSR(hUSBDev, sreg, $15);
573573
if isBitSet(sreg, 0) then addr32bit4byte := true;
574574
//Сбрасываем регистр адреса
575+
UsbAsp25_WREN(hUSBDev);
575576
sreg := 0;
576577
UsbAsp25_WriteSR(hUSBDev, sreg, $c5);
577578
end;
@@ -1884,7 +1885,7 @@ procedure TMainForm.MenuItemLockFlashClick(Sender: TObject);
18841885

18851886
procedure TMainForm.MenuItemReadSregClick(Sender: TObject);
18861887
var
1887-
sreg, sreg2: byte;
1888+
sreg, sreg2, sreg3: byte;
18881889
begin
18891890
try
18901891
ButtonCancel.Tag := 0;
@@ -1898,8 +1899,10 @@ procedure TMainForm.MenuItemReadSregClick(Sender: TObject);
18981899
begin
18991900
UsbAsp25_ReadSR(hUSBDev, sreg); //Читаем регистр
19001901
UsbAsp25_ReadSR(hUSBDev, sreg2, $35); //Второй байт
1902+
UsbAsp25_ReadSR(hUSBDev, sreg3, $15); //Третий байт
19011903
LogPrint('Sreg: '+IntToBin(sreg, 8)+'(0x'+(IntToHex(sreg, 2)+'), ')
1902-
+IntToBin(sreg2, 8)+'(0x'+(IntToHex(sreg2, 2)+')'));
1904+
+IntToBin(sreg2, 8)+'(0x'+(IntToHex(sreg2, 2)+'), ')
1905+
+IntToBin(sreg3, 8)+'(0x'+(IntToHex(sreg3, 2)+')'));
19031906
end;
19041907

19051908
if ComboSPICMD.ItemIndex = SPI_CMD_95 then

software/sregedit.lfm

Lines changed: 130 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,138 +1,138 @@
11
object sregeditForm: TsregeditForm
2-
Left = 673
3-
Height = 172
2+
Left = 669
3+
Height = 155
44
Top = 379
55
Width = 200
66
Align = alCustom
77
BorderStyle = bsToolWindow
88
Caption = 'SREG'
9-
ClientHeight = 172
9+
ClientHeight = 155
1010
ClientWidth = 200
1111
FormStyle = fsStayOnTop
1212
Position = poOwnerFormCenter
1313
LCLVersion = '1.4.4.0'
1414
object CheckBoxSB7: TCheckBox
15-
Left = 16
15+
Left = 22
1616
Height = 19
17-
Top = 29
17+
Top = 28
1818
Width = 20
1919
OnChange = CheckBoxChange
2020
TabOrder = 0
2121
end
2222
object CheckBoxSB6: TCheckBox
23-
Left = 32
23+
Left = 38
2424
Height = 19
25-
Top = 29
25+
Top = 28
2626
Width = 20
2727
OnChange = CheckBoxChange
2828
TabOrder = 1
2929
end
3030
object CheckBoxSB5: TCheckBox
31-
Left = 48
31+
Left = 54
3232
Height = 19
33-
Top = 29
33+
Top = 28
3434
Width = 20
3535
OnChange = CheckBoxChange
3636
TabOrder = 2
3737
end
3838
object CheckBoxSB4: TCheckBox
39-
Left = 64
39+
Left = 70
4040
Height = 19
41-
Top = 29
41+
Top = 28
4242
Width = 20
4343
OnChange = CheckBoxChange
4444
TabOrder = 3
4545
end
4646
object CheckBoxSB3: TCheckBox
47-
Left = 80
47+
Left = 86
4848
Height = 19
49-
Top = 29
49+
Top = 28
5050
Width = 20
5151
OnChange = CheckBoxChange
5252
TabOrder = 4
5353
end
5454
object CheckBoxSB2: TCheckBox
55-
Left = 96
55+
Left = 102
5656
Height = 19
57-
Top = 29
57+
Top = 28
5858
Width = 20
5959
OnChange = CheckBoxChange
6060
TabOrder = 5
6161
end
6262
object CheckBoxSB1: TCheckBox
63-
Left = 112
63+
Left = 118
6464
Height = 19
65-
Top = 29
65+
Top = 28
6666
Width = 20
6767
OnChange = CheckBoxChange
6868
TabOrder = 6
6969
end
7070
object CheckBoxSB0: TCheckBox
71-
Left = 128
71+
Left = 134
7272
Height = 19
73-
Top = 29
73+
Top = 28
7474
Width = 20
7575
OnChange = CheckBoxChange
7676
TabOrder = 7
7777
end
7878
object CheckBoxSB15: TCheckBox
79-
Left = 16
79+
Left = 22
8080
Height = 19
8181
Top = 56
8282
Width = 20
8383
OnChange = CheckBoxChange
8484
TabOrder = 8
8585
end
8686
object CheckBoxSB14: TCheckBox
87-
Left = 32
87+
Left = 38
8888
Height = 19
8989
Top = 56
9090
Width = 20
9191
OnChange = CheckBoxChange
9292
TabOrder = 9
9393
end
9494
object CheckBoxSB13: TCheckBox
95-
Left = 48
95+
Left = 54
9696
Height = 19
9797
Top = 56
9898
Width = 20
9999
OnChange = CheckBoxChange
100100
TabOrder = 10
101101
end
102102
object CheckBoxSB12: TCheckBox
103-
Left = 64
103+
Left = 70
104104
Height = 19
105105
Top = 56
106106
Width = 20
107107
OnChange = CheckBoxChange
108108
TabOrder = 11
109109
end
110110
object CheckBoxSB11: TCheckBox
111-
Left = 80
111+
Left = 86
112112
Height = 19
113113
Top = 56
114114
Width = 20
115115
OnChange = CheckBoxChange
116116
TabOrder = 12
117117
end
118118
object CheckBoxSB10: TCheckBox
119-
Left = 96
119+
Left = 102
120120
Height = 19
121121
Top = 56
122122
Width = 20
123123
OnChange = CheckBoxChange
124124
TabOrder = 13
125125
end
126126
object CheckBoxSB9: TCheckBox
127-
Left = 112
127+
Left = 118
128128
Height = 19
129129
Top = 56
130130
Width = 20
131131
OnChange = CheckBoxChange
132132
TabOrder = 14
133133
end
134134
object CheckBoxSB8: TCheckBox
135-
Left = 128
135+
Left = 134
136136
Height = 19
137137
Top = 56
138138
Width = 20
@@ -142,7 +142,7 @@ object sregeditForm: TsregeditForm
142142
object ButtonReadSreg: TButton
143143
Left = 16
144144
Height = 25
145-
Top = 128
145+
Top = 120
146146
Width = 75
147147
Caption = 'Прочитать'
148148
OnClick = ButtonReadSregClick
@@ -151,24 +151,24 @@ object sregeditForm: TsregeditForm
151151
object ButtonWriteSreg: TButton
152152
Left = 104
153153
Height = 25
154-
Top = 128
154+
Top = 120
155155
Width = 75
156156
Caption = 'Записать'
157157
OnClick = ButtonWriteSregClick
158158
TabOrder = 17
159159
end
160160
object EditSreg1: TEdit
161-
Left = 160
161+
Left = 166
162162
Height = 23
163-
Top = 25
163+
Top = 24
164164
Width = 24
165165
MaxLength = 2
166166
OnChange = EditSreg1Change
167167
TabOrder = 18
168168
Text = '00'
169169
end
170170
object EditSreg2: TEdit
171-
Left = 160
171+
Left = 166
172172
Height = 23
173173
Top = 52
174174
Width = 24
@@ -178,35 +178,125 @@ object sregeditForm: TsregeditForm
178178
Text = '00'
179179
end
180180
object Label1: TLabel
181-
Left = 16
181+
Left = 14
182182
Height = 15
183-
Top = 12
183+
Top = 28
184184
Width = 6
185185
Caption = '7'
186186
ParentColor = False
187187
end
188188
object Label2: TLabel
189-
Left = 136
189+
Left = 150
190190
Height = 15
191-
Top = 12
191+
Top = 28
192192
Width = 6
193193
Caption = '0'
194194
ParentColor = False
195195
end
196196
object Label3: TLabel
197-
Left = 16
197+
Left = 8
198198
Height = 15
199-
Top = 80
199+
Top = 56
200200
Width = 12
201201
Caption = '15'
202202
ParentColor = False
203203
end
204204
object Label4: TLabel
205-
Left = 136
205+
Left = 150
206206
Height = 15
207-
Top = 80
207+
Top = 56
208208
Width = 6
209209
Caption = '8'
210210
ParentColor = False
211211
end
212+
object CheckBoxSB23: TCheckBox
213+
Left = 22
214+
Height = 19
215+
Top = 84
216+
Width = 20
217+
OnChange = CheckBoxChange
218+
TabOrder = 20
219+
end
220+
object CheckBoxSB22: TCheckBox
221+
Left = 38
222+
Height = 19
223+
Top = 84
224+
Width = 20
225+
OnChange = CheckBoxChange
226+
TabOrder = 21
227+
end
228+
object CheckBoxSB21: TCheckBox
229+
Left = 54
230+
Height = 19
231+
Top = 84
232+
Width = 20
233+
OnChange = CheckBoxChange
234+
TabOrder = 22
235+
end
236+
object CheckBoxSB20: TCheckBox
237+
Left = 70
238+
Height = 19
239+
Top = 84
240+
Width = 20
241+
OnChange = CheckBoxChange
242+
TabOrder = 23
243+
end
244+
object CheckBoxSB19: TCheckBox
245+
Left = 86
246+
Height = 19
247+
Top = 84
248+
Width = 20
249+
OnChange = CheckBoxChange
250+
TabOrder = 24
251+
end
252+
object CheckBoxSB18: TCheckBox
253+
Left = 102
254+
Height = 19
255+
Top = 84
256+
Width = 20
257+
OnChange = CheckBoxChange
258+
TabOrder = 25
259+
end
260+
object CheckBoxSB17: TCheckBox
261+
Left = 118
262+
Height = 19
263+
Top = 84
264+
Width = 20
265+
OnChange = CheckBoxChange
266+
TabOrder = 26
267+
end
268+
object CheckBoxSB16: TCheckBox
269+
Left = 136
270+
Height = 19
271+
Top = 84
272+
Width = 20
273+
OnChange = CheckBoxChange
274+
TabOrder = 27
275+
end
276+
object Label5: TLabel
277+
Left = 8
278+
Height = 15
279+
Top = 84
280+
Width = 12
281+
Caption = '23'
282+
ParentColor = False
283+
end
284+
object Label6: TLabel
285+
Left = 150
286+
Height = 15
287+
Top = 84
288+
Width = 12
289+
Caption = '16'
290+
ParentColor = False
291+
end
292+
object EditSreg3: TEdit
293+
Left = 166
294+
Height = 23
295+
Top = 80
296+
Width = 24
297+
MaxLength = 2
298+
OnChange = EditSreg3Change
299+
TabOrder = 28
300+
Text = '00'
301+
end
212302
end

0 commit comments

Comments
 (0)