Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

Der Ursprung dieses Forum reicht bis in das Jahr 2008 zurück


Mousepad als ProgrammEditor

#1 von Naubaddi , 21.03.2019 20:15

Hi,

nach fast 2 Jahren habe ich wieder ein Laptop, mein Tablett würde mir eigentlich reichen aber es scheint so langsam seinen Geist aufzugeben .
Ein kurzer Test mit einem Xubuntu Life-Stick im Laden und nun steht hier ein terra mobile 1515, es funktioniert gut und ist auch recht schnell.

Nun kommt die PICAXE ins Spiel, es gibt einen anderen Editer bei der neuen Linux-Version. Mein Erster Versuch war das geliebte gedit zum Laufen zu bringen, Versuch gescheitert . Der zweite Versuch mit dem neuen Editor (Mousepad) lief nach ein paar Infos im Ubuntu-Forum reibungslos ab, einfach meine 2 PICAXE-Dateien an die richtige Stelle kopiert und gut ist .

Also liebe Linux Nutzer, es klappt auch mit dem Mousepad-Editor.

Grüßle

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Mousepad als ProgrammEditor

#2 von Naubaddi , 18.04.2019 21:08

Hi, habe vergessen die 2 Dateien für Mousepad zu zeigen, hier sind sie:

die "picaxe.lang"

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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
 
<?xml version="1.0" encoding="UTF-8"?>
 
<!--
 
Author: Hermann Friedhoff <foto-schubser@arcor.de>
Copyright (C) Hermann Friedhoff <foto-schubser@arcor.de>
Start: 23.11.2014 Stand: 11.12.2014
 
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
-->
 
<language id="picaxe" _name="PICAXE" version="2.0" _section="Quelle">
 
<metadata>
<property name="mimetypes">text/x-picaxe</property>
<property name="globs">*.axe;*.AXE;*.bas;*.BAS</property>
</metadata>
 
<styles>
 
<style id="my-keywords" _name="My Keywords" map-to="picaxe:blue"/>
 
<style id="comment" _name="Comment" map-to="picaxe:blue"/>
<style id="string" _name="String" map-to="picaxe:pink"/>
<style id="command" _name="Command" map-to="picaxe:brown"/>
<style id="directive" _name="Directive" map-to="picaxe:orange"/>
 
<style id="intnumber" _name="Integer Number" map-to="picaxe:pink"/>
<style id="hexnumber" _name="Hexadecimal Number" map-to="picaxe:grey"/>
<style id="binnumber" _name="Binary Number" map-to="picaxe:dark-grey"/>
 
<style id="constant" _name="Constant" map-to="picaxe:red-b"/>
<style id="variable" _name="Variable" map-to="picaxe:dark-green-b"/>
<style id="pvariable" _name="PICAXE Variable" map-to="picaxe:dark-green"/>
 
<style id="multitask" _name="Multitask" map-to="picaxe:orange-b"/>
 
<style id="unbekannt" _name="noch unbekannt" map-to="def:error"/> <!-- rot hinterlegt -->
 
</styles>
 
<default-regex-options case-sensitive="false"/>
 
<definitions>
 
<context id="My-Keywords" style-ref="my-keywords">
<match>\b[A-Z][A-Za-z0-9_]*\b</match>
</context>
 
<context id="Line-Comments-1" style-ref="comment" end-at-line-end="true">
<start>'</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
 
<context id="Line-Comments-2" style-ref="comment" end-at-line-end="true">
<start>;</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
 
<context id="Line-Comments-3" style-ref="comment" end-at-line-end="true">
<start>rem</start>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
 
<context id="Block-Comments" style-ref="comment">
<start>\#rem</start>
<end>\#endrem</end>
<include>
<context ref="def:in-line-comment"/>
</include>
</context>
 
<context id="Strings" style-ref="string">
<start>[uUrR]?"</start>
<end>"</end>
</context>
 
<context id="IntNumbers" style-ref="intnumber">
<match extended="true">
(?&lt;![^\s])
([0-9.]+ | [0-9]+[.]?[0-9]*[eE][0-9]*)
(?![^\s])
</match>
</context>
 
<context id="HexNumbers" style-ref="hexnumber">
<match extended="true">
(?&lt;![^\s])
([$][-+]?[A-F0-9.]+)
(?![^\s])
</match>
</context>
 
<context id="BinNumbers" style-ref="binnumber">
<match extended="true">
(?&lt;![^\s])
([%][-+]?[0-1.]+)
(?![^\s])
</match>
</context>
 
<context id="Digital-Input-Output" style-ref="command">
<keyword>high</keyword> <!-- Switch an output pin on -->
<keyword>low</keyword> <!-- Switch an output pin off -->
<keyword>toggle</keyword> <!-- Change an output pin between on and off -->
<keyword>backward</keyword> <!-- Drive a motor backwards -->
<keyword>forward</keyword> <!-- Drive a motor forwards -->
<keyword>halt</keyword> <!-- Halt a motor -->
<keyword>sound</keyword> <!-- Generate simple sounds -->
<keyword>play</keyword> <!-- Play a pre-defined musical tune -->
<keyword>tune</keyword> <!-- Play a sequence of musical notes -->
<keyword>servo</keyword> <!-- Control a servo -->
<keyword>servopos</keyword> <!-- Set the position of a servo -->
<keyword>irin</keyword> <!-- Receive an infra-red command -->
<keyword>irout</keyword> <!-- Generate an infra-red command -->
<keyword>rfin</keyword> <!-- Receive data from an RF receiver module -->
<keyword>rfout</keyword> <!-- Send data to an RF transmitter module -->
<keyword>pwmout</keyword> <!-- Generate a continuous PWM signal -->
<keyword>pwmduty</keyword> <!-- Set the duty ratio of a PWM signal -->
<keyword>pwmdiv4</keyword> <!-- Set the frequency to 4 at pwmout -->
<keyword>pwmdiv16</keyword> <!-- Set the frequency to 16 at pwmout -->
<keyword>pwmdiv64</keyword> <!-- Set the frequency to 64 at pwmout -->
<keyword>hpwmout</keyword> <!-- -->
<keyword>pin</keyword> <!-- with if Respond to the state of an input signal -->
<keyword>count</keyword> <!-- Count pulses detected on an input pin -->
<keyword>pulsin</keyword> <!-- Measure the length of a pulse on an input pin -->
<keyword>pulsout</keyword> <!-- Generate a pulse on an output pin -->
<keyword>input</keyword> <!-- Set a pin for receiving input -->
<keyword>output</keyword> <!-- Set a pin to produce an output signal -->
<keyword>reverse</keyword> <!-- Toggle a pin between input and output use -->
<keyword>pullup</keyword> <!-- Set internal pull-ups for input pins -->
<keyword>inputtype</keyword> <!-- Select the electrical characteristics of an input pin -->
<keyword>infrain</keyword> <!-- Receive an infra-red command -->
<keyword>infrain2</keyword> <!-- Receive an infra-red command -->
<keyword>infraout</keyword> <!-- Generate an infra-red command -->
<keyword>pwm</keyword> <!-- Generate a PWM output signal -->
<keyword>switch</keyword> <!-- Switch an output on or off -->
<keyword>on</keyword> <!-- Switch on in connection with any other command -->
<keyword>off</keyword> <!-- Switch off in connection with any other command -->
<keyword>button</keyword> <!-- Detect and debounce a button push -->
<keyword>porta</keyword> <!-- with high/low output Port A switch on/off -->
<keyword>portb</keyword> <!-- with high/low output Port B switch on/off -->
<keyword>portc</keyword> <!-- with high/low output Port C switch on/off -->
<keyword>portd</keyword> <!-- with high/low output Port D switch on/off -->
<keyword>readoutputs</keyword> <!-- Determine previously set output levels -->
<keyword>readportc</keyword> <!-- Read Port C inputs -->
<keyword>switchoff</keyword> <!-- Make pin output low -->
<keyword>switchon</keyword> <!-- Make pin output high -->
</context>
 
<context id="Analogue-Input-Output" style-ref="command">
<keyword>touch</keyword> <!-- Read a touch sensor status -->
<keyword>touch16</keyword> <!-- Read a touch sensor signal level -->
<keyword>readadc</keyword> <!-- Read an analogue input -->
<keyword>readadc10</keyword> <!-- Read a high-resolution analogue input -->
<keyword>readtemp</keyword> <!-- Read a DS18B20 temperature sensor -->
<keyword>readtemp12</keyword> <!-- Read a DS18B20 temperature sensor to 0.625C accuracy -->
<keyword>daclevel</keyword> <!-- Set an analogue output level -->
<keyword>dacsetup</keyword> <!-- Configure analogue output -->
<keyword>readdac</keyword> <!-- Read the analogue output -->
<keyword>readdac10</keyword> <!-- Read the analogue output using highest resolution -->
</context>
 
<context id="Time-Delays" style-ref="command">
<keyword>pause</keyword> <!-- Delay for a number of milliseconds -->
<keyword>pauseus</keyword> <!-- Delay for a number of microseconds -->
<keyword>nap</keyword> <!-- Sleep for a short period of time -->
<keyword>sleep</keyword> <!-- Sleep for a period of time -->
<keyword>doze</keyword> <!-- Reduce power consumption for a short period of time -->
<keyword>hibernate</keyword> <!-- Reduce power consumption for a period of time -->
<keyword>wait</keyword> <!-- Delay for a number of seconds -->
<keyword>time</keyword> <!-- Use the elapsed time counter -->
</context>
 
<context id="Program-Flow-Control" style-ref="command">
<keyword>goto</keyword> <!-- Continue program execution from a named label -->
<keyword>gosub</keyword> <!-- Call a subroutine -->
<keyword>branch</keyword> <!-- Branch to one of a number of named labels -->
<keyword>for</keyword> <!-- Repeat a loop a certain number of times -->
<keyword>to</keyword> <!-- Let the for next loop run forward -->
<keyword>downto</keyword> <!-- Let the for next loop run backwards -->
<keyword>step</keyword> <!-- Wide leaps for the for next loop -->
<keyword>next</keyword> <!-- Indicate the end of a 'for' command loop -->
<keyword>do</keyword> <!-- Repeat a loop until a certain condition is met -->
<keyword>loop</keyword> <!-- Indicate the end of a 'do' command loop -->
<keyword>if</keyword> <!-- Conditionally execute program code -->
<keyword>elseif</keyword> <!-- Alternative code execution for an 'if' command -->
<keyword>else</keyword> <!-- Alternative code execution for an 'if' command -->
<keyword>endif</keyword> <!-- Indicate the end of an 'if' command -->
<keyword>select</keyword> <!-- Select which section of program code to execute -->
<keyword>case</keyword> <!-- Define a section of program code for a 'select' command -->
<keyword>endselect</keyword> <!-- Indicate the end of a 'select' command -->
<keyword>return</keyword> <!-- Return from a subroutine -->
<keyword>end</keyword> <!-- Terminate program execution -->
<keyword>reset</keyword> <!-- Reset the PICAXE and restart program execution -->
<keyword>stop</keyword> <!-- Stop the program code from continuing -->
<keyword>on</keyword> <!-- With goto/gosub Continue/Select -->
<keyword>then</keyword> <!-- Command to be executed or not -->
<keyword>bit</keyword> <!-- With if Conditionally execute code depending on a variable bit setting -->
<keyword>exit</keyword> <!-- Exit from a 'do' or 'for' command loop -->
<keyword>while</keyword> <!-- Exit from a 'do' command loop -->
<keyword>until</keyword> <!-- Exit from a 'do' command loop -->
</context>
 
<context id="Interrupts-and-Multi-Tasking" style-ref="multitask">
<keyword>setint</keyword> <!-- Set the input conditions which cause an interrupt -->
<keyword>setintflags</keyword> <!-- Specify the events which cause an interrupt -->
<keyword>restart</keyword> <!-- Restart a program task -->
<keyword>resume</keyword> <!-- Resume executing a suspended program task -->
<keyword>suspend</keyword> <!-- Suspend a program task -->
<keyword>start[0-7]</keyword> <!-- A procedure which runs in parallel mode -->
</context>
 
<context id="PICAXE-Variables" style-ref="pvariable">
<keyword>symbol</keyword> <!-- Give a name to a variable or number value -->
<keyword>let</keyword> <!-- Perform a mathematical operation -->
<keyword>inc</keyword> <!-- Increment a variable's value by one -->
<keyword>dec</keyword> <!-- Decrement a variable's value by one -->
<keyword>swap</keyword> <!-- Swap the values of two variables between each other -->
<keyword>bcdtoascii</keyword> <!-- Convert a BCD value to its ASCII (text) representation -->
<keyword>bintoascii</keyword> <!-- Convert a numeric value to its ASCII (text) representation -->
<keyword>lookdown</keyword> <!-- Find an item in a list of values -->
<keyword>lookup</keyword> <!-- Select an item value from a list -->
<keyword>random</keyword> <!-- Set a variable to a random value -->
<keyword>clearbit</keyword> <!-- Clear a bit within a variable -->
<keyword>setbit</keyword> <!-- Set a bit within a variable -->
<keyword>togglebit</keyword> <!-- Invert a bit within a variable -->
<keyword>peek</keyword> <!-- Get a value from PICAXE memory -->
<keyword>poke</keyword> <!-- Set a value in PICAXE memory -->
<keyword>get</keyword> <!-- Get a value from scratchpad memory -->
<keyword>put</keyword> <!-- Set a value in scratchpad memory -->
<keyword>read</keyword> <!-- Read a value from internal data EEPROM -->
<keyword>write</keyword> <!-- Set a value in internal data EEPROM -->
<keyword>eeprom</keyword> <!-- Specify values to be loaded to internal data EEPROM -->
<keyword>readtable</keyword> <!-- Get a value from the data table -->
<keyword>table</keyword> <!-- Specify values for the data table -->
<keyword>tablecopy</keyword> <!-- Copy data table values into variables -->
</context>
 
<context id="Serial-RS232-Interfacing" style-ref="command">
<keyword>debug</keyword> <!-- Update the debug display screen -->
<keyword>sertxd</keyword> <!-- Send serial data out through the Serial Out pin -->
<keyword>serrxd</keyword> <!-- Receive serial data through the Serial In pin -->
<keyword>serin</keyword> <!-- Receive serial data through an input pin -->
<keyword>serout</keyword> <!-- Send serial data out through an output pin -->
<keyword>hserin</keyword> <!-- Receive serial data through the High-Speed Serial In pin -->
<keyword>hserout</keyword> <!-- Send serial data out through the High-Speed Serial Out pin -->
<keyword>hsersetup</keyword> <!-- Configure the High-Speed Serial interface -->
</context>
 
<context id="Advanced-Input-Output-Interfacing" style-ref="command">
<keyword>hi2cin</keyword> <!-- Read data from an I2C device -->
<keyword>hi2cout</keyword> <!-- Write data to an I2C device -->
<keyword>hi2csetup</keyword> <!-- Configure the I2C mode and the I2C bus -->
<keyword>kbin</keyword> <!-- Read key press data from a PS/2 keyboard -->
<keyword>kbled</keyword> <!-- Control the LEDs on a PS/2 keyboard -->
<keyword>owin</keyword> <!-- Read data from a 1-wire device -->
<keyword>owout</keyword> <!-- Write data to a 1-wire device -->
<keyword>readowsn</keyword> <!-- Read the serial number of a 1-wire device -->
<keyword>hspiin</keyword> <!-- Read data using the High-Speed SPI interface -->
<keyword>hshin</keyword> <!-- Read data using the High-Speed SPI interface -->
<keyword>shin</keyword> <!-- -->
<keyword>hspiout</keyword> <!-- Write data using the High-Speed SPI interface -->
<keyword>hshout</keyword> <!-- Write data using the High-Speed SPI interface -->
<keyword>shout</keyword> <!-- -->
<keyword>hspisetup</keyword> <!-- Configure the High-Speed SPI interface -->
<keyword>shiftin</keyword> <!-- Read data from an SPI device -->
<keyword>spiin</keyword> <!-- Read data from an SPI device -->
<keyword>shiftout</keyword> <!-- Write data to an SPI device -->
<keyword>spiout</keyword> <!-- Write data to an SPI device -->
<keyword>srlatch</keyword> <!-- Configure the hardware SR Latch -->
<keyword>srreset</keyword> <!-- Reset the hardware SR Latch -->
<keyword>srset</keyword> <!-- Set the hardware SR Latch -->
<keyword>uniin</keyword> <!-- Read data from a UNI/O device -->
<keyword>uniout</keyword> <!-- Write data to a UNI/O device -->
<keyword>hpwm</keyword> <!-- Generate PWM output signals -->
<keyword>hpwmduty</keyword> <!-- Set the duty ratio of HPWM generated signals -->
<keyword>keyin</keyword> <!-- Read key press data from a PS/2 keyboard -->
<keyword>keyled</keyword> <!-- Control the LEDs on a PS/2 keyboard -->
<keyword>i2cslave</keyword> <!-- Configure the I2C bus -->
<keyword>i2cmaster</keyword> <!-- -->
<keyword>booti2c</keyword> <!-- update the internal program by copying a new program from an external i2c EEPROM -->
<keyword>readi2c</keyword> <!-- Read data from an I2C device -->
<keyword>i2cread</keyword> <!-- Read data from an I2C device -->
<keyword>writei2c</keyword> <!-- Write data to an I2C device -->
<keyword>i2cwrite</keyword> <!-- Write data to an I2C device -->
<keyword>ultra</keyword> <!-- Measure distance with SRF005 ultrasonic sensor -->
<keyword>readowclk</keyword> <!-- Read seconds from a DS2415 clock chip -->
<keyword>resetowclk</keyword> <!-- Reset seconds count to 0 on a DS2415 clock chip -->
<keyword>readmem</keyword> <!-- Read FLASH program memory byte data into variable -->
<keyword>writemem</keyword> <!-- Write FLASH program memory byte data into location -->
</context>
 
<context id="Advanced-Configuration" style-ref="command">
<keyword>peeksfr</keyword> <!-- Read data from an internal control register -->
<keyword>pokesfr</keyword> <!-- Write data to an internal control register -->
<keyword>calibfreq</keyword> <!-- Adjust the operating speed of the PICAXE -->
<keyword>setfreq</keyword> <!-- Set the operating speed of the PICAXE -->
<keyword>disablebod</keyword> <!-- Enable low-voltage operation -->
<keyword>enablebod</keyword> <!-- Disable low-voltage operation -->
<keyword>readinternaltemp</keyword> <!-- Read the internal temperature sensor -->
<keyword>readfirmware</keyword> <!-- Obtain PICAXE firmware information -->
<keyword>readrevision</keyword> <!-- Obtain the #revision details for a program slot -->
<keyword>readsilicon</keyword> <!-- Obtain information on the PICAXE chip type -->
<keyword>adcconfig</keyword> <!-- Configure analogue input operation -->
<keyword>adcsetup</keyword> <!-- Configure analogue input channels -->
<keyword>calibadc</keyword> <!-- Read the internal voltage reference value -->
<keyword>calibadc10</keyword> <!-- Read the internal voltage reference value with highest resolution -->
<keyword>compsetup</keyword> <!-- Configure analogue comparators -->
<keyword>fvrsetup</keyword> <!-- Configure the on-chip voltage reference -->
<keyword>disconnect</keyword> <!-- Prevent the PICAXE accepting program downloads -->
<keyword>reconnect</keyword> <!-- Enable the PICAXE to accept program downloads -->
<keyword>hintsetup</keyword> <!-- Configure hardware interrupt input pins -->
<keyword>disabletime</keyword> <!-- Prevent the elapsed time variable incrementing -->
<keyword>enabletime</keyword> <!-- Enable the elapsed time variable to increment -->
<keyword>settimer</keyword> <!-- Configure the internal timer -->
<keyword>tmr3setup</keyword> <!-- Configure internal Timer 3 -->
<keyword>booti2c</keyword> <!-- Copy external program slot to internal program memory -->
<keyword>run</keyword> <!-- Run the program in another program slot -->
<keyword>pop</keyword> <!-- Pop a byte from the stack -->
<keyword>popram</keyword> <!-- Pop variables from the RAM stack -->
<keyword>push</keyword> <!-- Push a byte to the stack -->
<keyword>pushram</keyword> <!-- Push variables to the RAM stack -->
</context>
 
<context id="Directives" style-ref="directive">
<start>
|\#picaxe| <!-- Specify the PICAXE the program code is for -->
|\#revision| <!-- Specify the revision number in a program slot -->
|\#region| <!-- Define a code region -->
|\#endregion| <!-- End a region -->
|\#include| <!-- Include program code from another source file -->
|\#terminal| <!-- Set Terminal display baud rate -->
|\#preprocessor| <!-- [Pre-processor substitution constants] -->
|\#com| <!-- Set the serial/USB COM port for downloading. -->
|\#slot| <!-- Specify the program slot the program code will be downloaded into -->
|\#error| <!-- Force a compilation error to be produced -->
|\#freq| <!-- Specify the current operating speed of the PICAXE being downloaded into -->
|\#undefine| <!-- Remove a name previously created with #define -->
|\#define| <!-- Define a name to control conditional compilation -->
|\#endmacro| <!-- End a macro -->
|\#gosubs| <!-- Specify the number of GOSUBs allowed -->
|\#endif| <!-- Terminate #ifdef and #ifndef commands -->
|\#else| <!-- Alternative program code include for #ifdef and #ifndef directives -->
|\#ifndef| <!-- Only include program code if a #define name is not defined -->
|\#ifdef| <!-- Only include program code if a #define name is defined -->
|\#if| <!-- Only include program code if a #define value is defined -->
|\#macro| <!-- Define a macro -->
|\#no_data| <!-- Do not download data EEPROM values -->
|\#no_debug| <!-- Disable debug commands in a program -->
|\#no_end| <!-- Do not include a terminating 'end' command -->
|\#no_table| <!-- Do not download data table values -->
|\#rem| <!-- Treat subsequent program lines as comments -->
|\#endrem| <!-- Terminate a previous #rem directive -->
|\#simspeed| <!-- Set speed of simulation -->
|\#simtask| <!-- Specify program task to simulate -->
|\#sim| <!-- Specify simulation model to use -->
</start>
<end></end>
</context>
 
<context id="Mathematical-Functions" style-ref="variable">
<keyword>max</keyword> <!-- limit value to a maximum value -->
<keyword>min</keyword> <!-- limit value to a minimum value -->
<keyword>and</keyword> <!-- (or &) bitwise AND -->
<keyword>or</keyword> <!-- (or |) bitwise OR (typed as SHIFT + \ on UK keyboard) -->
<keyword>xor</keyword> <!-- bitwise XOR (typed as SHIFT + 6 on UK keyboard) -->
<keyword>nand</keyword> <!-- bitwise NAND -->
<keyword>nor</keyword> <!-- bitwise NOR -->
<keyword>andnot</keyword> <!-- (or &/) bitwise AND NOT (NB this is not the same as NAND) -->
<keyword>ornot</keyword> <!-- (or |/) bitwise OR NOT (NB this is not the same as NOR) -->
<keyword>xnor</keyword> <!-- (or ^/) bitwise XOR NOT (same as XNOR) -->
<keyword>xornot</keyword> <!-- bitwise XOR NOT (same as XNOR) -->
<keyword>not</keyword> <!-- inverts a value -->
<keyword>sin</keyword> <!-- sine of angle (0 to 65535) in degrees (value * 100 is returned) -->
<keyword>cos</keyword> <!-- cosine of angle in degrees (value * 100 is returned) -->
<keyword>sqr</keyword> <!-- square root -->
<keyword>inv</keyword> <!-- invert -->
<keyword>ncd</keyword> <!-- encoder (2n power encoder) -->
<keyword>dcd</keyword> <!-- decoder (2n power decoder) -->
<keyword>bintobcd</keyword> <!-- convert binary value to BCD -->
<keyword>bcdtobin</keyword> <!-- convert BCD value to binary -->
<keyword>rev</keyword> <!-- reverse a number of bits -->
<keyword>dig</keyword> <!-- return a BCD digit -->
<keyword>nob</keyword> <!-- count number of set bits (X2 only) -->
<keyword>atan</keyword> <!-- calculate the arctan of a value (result 0-45 degrees) (X2 only) -->
<!-- (+) add -->
<!-- (-) subtract -->
<!-- (*) multiply (returns low word of result) -->
<!-- (**) multiply (returns high word of result) -->
<!-- (*/) multiply (returns middle word of result) -->
<!-- (/) divide (returns quotient) -->
<!-- (//) (or %) modulus divide (returns remainder) -->
<!-- (<<) shift left -->
<!-- (>>) shift right -->
</context>
 
<context id="Variables" style-ref="variable">
<keyword>b[0-9]|b1[0-9]|b2[0-9]|b3[0-9]|b4[0-9]|b5[0-5]</keyword>
<keyword>bit[0-9]|bit1[0-9]|bit2[0-9]|bit3[0-1]</keyword>
<keyword>bptr|bptr[0-7]|bptrdec|bptrinc</keyword>
<keyword>compflag|compvalue</keyword>
<keyword>dir[0-7]|dira.[0-7]|dirb.[0-7]|dirc.[0-7]|dird.[0-7]|dirs|dirs[a-d]</keyword>
<keyword>flag[0-9]|flag1[0-5]|flags|flagsh|flagsl</keyword>
<keyword>hi2cflag|hi2clast</keyword>
<keyword>hintflag|hint0flag|hint1flag|hint2flag</keyword>
<keyword>hserflag|hserinflag|hserinptr|hserptr</keyword>
<keyword>infra</keyword>
<keyword>input[0-7]</keyword>
<keyword>keyvalue</keyword>
<keyword>outpin[0-7]|outpina.[07]|outpinb.[07]|outpinc.[07]|outpind.[07]|outpins|outpins[a-d]</keyword>
<keyword>pin[0-7]|pina.[0-7]|pinb.[0-7]|pinc.[0-7]|pind.[0-7]|pins|pins[a-d]</keyword>
<keyword>port</keyword>
<keyword>ptr|ptr[0-9]|ptr1[0-5]|ptrh|ptrl|ptrdec|ptrinc</keyword>
<keyword>s_w[0-7]</keyword>
<keyword>task</keyword>
<keyword>timer|timer3</keyword>
<keyword>toflag</keyword>
<keyword>trisc</keyword>
<keyword>w[0-9]|w1[0-9]|w2[0-7]</keyword>
</context>
 
<context id="Constants" style-ref="constant">
<keyword>cls|cr|lf</keyword>
<keyword>a.[0-7]|b.[0-7]|c.[0-7]|d.[0-7]</keyword>
<keyword>b300_4|b300_8|b300_16|b300_20|b300_32|b300_40|b300_64</keyword>
<keyword>b600_4|b600_8|b600_16|b600_20|b600_32|b600_40|b600_64</keyword>
<keyword>b1200_4|b1200_8|b1200_16|b1200_20|b1200_32|b1200_40|b1200_64</keyword>
<keyword>b2400_4|b2400_8|b2400_16|b2400_20|b2400_32|b2400_40|b2400_64</keyword>
<keyword>b4800_4|b4800_8|b4800_16|b4800_20|b4800_32|b4800_40|b4800_64</keyword>
<keyword>b9600_4|b9600_8|b9600_16|b9600_20|b9600_32|b9600_40|b9600_64</keyword>
<keyword>b14400_4|b14400_8|b14400_16|b14400_20|b14400_32|b14400_40|b14400_64</keyword>
<keyword>b19200_4|b19200_8|b19200_16|b19200_20|b19200_32|b19200_40|b19200_64</keyword>
<keyword>b28800_4|b28800_8|b28800_16|b28800_20|b28800_32|b28800_40|b28800_64</keyword>
<keyword>b31250_4|b31250_8|b31250_16|b31250_20|b31250_32|b31250_40|b31250_64</keyword>
<keyword>b38400_4|b38400_8|b38400_16|b38400_20|b38400_32|b38400_40|b38400_64</keyword>
<keyword>b57600_4|b57600_8|b57600_16|b57600_20|b57600_32|b57600_40|b57600_64</keyword>
<keyword>b76800_4|b76800_8|b76800_16|b76800_20|b76800_32|b76800_40|b76800_64</keyword>
<keyword>b115200_4|b115200_8|b115200_16|b115200_20|b115200_32|b115200_40|b115200_64</keyword>
<keyword>em4|em8|em16|em20|em32|em40|em64</keyword>
<keyword>fvr1024|fvr2048|fvr4096</keyword>
<keyword>i2cbyte|i2cword</keyword>
<keyword>i2cfast|i2cfast4|i2cfast8|i2cfast16|i2cfast20|i2cfast32|>i2cfast40|i2cfast64</keyword>
<keyword>i2cfast_4|i2cfast_8|i2cfast_16|i2cfast_20|i2cfast_32|i2cfast_40|i2cfast_64</keyword>
<keyword>i2cslow|i2cslow4|i2cslow8|i2cslow16|i2cslow20|i2cslow32|i2cslow40|i2cslow64</keyword>
<keyword>i2cslow_4|i2cslow_8|i2cslow_16|i2cslow_20|i2cslow_32|i2cslow_40|i2cslow_64</keyword>
<keyword>it_raw_h|it_raw_l|it_5v0|it_4v5|it_3v5|it_4v0|it_3v3|it_3v0</keyword>
<keyword>k31|k62|k125|k250|k500</keyword>
<keyword>lsbfirst|lsbfirst_h|lsbfirst_l</keyword>
<keyword>lsbpost|lsbpost_h|lsbpost_l</keyword>
<keyword>lsbpre|lsbpre_h|lsbpre_l</keyword>
<keyword>msbfirst|msbfirst_h|msbfirst_l</keyword>
<keyword>msbpost|msbpost_h|msbpost_l</keyword>
<keyword>msbpre|msbpre_h|msbpre_l</keyword>
<keyword>m1|m2|m4|m8|m16|m32|m64</keyword>
<keyword>n300|n300_4</keyword>
<keyword>n600|n600_4|n600_8</keyword>
<keyword>n1200|n1200_4|n1200_8</keyword>
<keyword>n2400|n2400_4|n2400_8|n2400_16</keyword>
<keyword>n4800|n4800_4|n4800_8|n4800_16|n4800_32</keyword>
<keyword>n9600|n9600_8|n9600_16|n9600_32|n9600_64</keyword>
<keyword>n19200|n19200_16|n19200_32|n19200_64</keyword>
<keyword>n38400|n38400_32|n38400_64</keyword>
<keyword>n76800|n76800_64</keyword>
<keyword>output[0-7]</keyword>
<keyword>ownoreset|owresetafter|owresetbefore|owresetboth|owresetfirst</keyword>
<keyword>ownoreset_bit|owresetafter_bit|owresetbefore_bit|owresetboth_bit|owresetfirst_bit</keyword>
<keyword>pwmfull_f|pwmfull_r|pwmhalf|pwmsingle|pwmhhhh|pwmhlhl|pwmlhlh|pwmllll</keyword>
<keyword>s.[0-9]|s.1[0-3]|s.a[0-5]</keyword>
<keyword>spifast|spimedium|spislow</keyword>
<keyword>spimode00|spimode00e|spimode01|spimode01e|spimode10|spimode10e|spimode11|spimode11e</keyword>
<keyword>t1s_4|t1s_8|t1s_16|t1s_20|t1s_32|t1s_40|t1s_64</keyword>
<keyword>t300|t300_4</keyword>
<keyword>t600|t600_4|t600_8</keyword>
<keyword>t1200|t1200_4|t1200_8</keyword>
<keyword>t2400|t2400_4|t2400_8|t2400_16</keyword>
<keyword>t4800|t4800_4|t4800_8|t4800_16|t4800_32</keyword>
<keyword>t9600|t9600_8|t9600_16|t9600_32|t9600_64</keyword>
<keyword>t19200|t19200_16|t19200_32|t19200_64</keyword>
<keyword>t38400|t38400_32|t38400_64</keyword>
<keyword>t76800|t76800_64</keyword>
<keyword>uni_crrd|uni_eral|uni_rdsr|uni_read|uni_setal|uni_wren|uni_wrdi|uni_write|uni_wrsr</keyword>
</context>
 
<context id="noch-unbekannt" style-ref="unbekannt">
<keyword>vartoascii</keyword> <!-- -->
<keyword>call</keyword> <!-- -->
<keyword>data</keyword> <!-- -->
<keyword>pause_int</keyword> <!-- -->
<keyword>pot</keyword> <!-- -->
<keyword>readpinsc</keyword> <!-- -->
<keyword>sensor</keyword> <!-- -->
<keyword>word</keyword> <!-- -->
<keyword>clear</keyword> <!-- -->
<keyword>is</keyword> <!-- -->
<keyword>mod</keyword> <!-- -->
<keyword>set</keyword> <!-- -->
</context>
 
<context id="picaxe">
<include>
<context ref="Line-Comments-1"/>
<context ref="Line-Comments-2"/>
<context ref="Line-Comments-3"/>
<context ref="Block-Comments"/>
<context ref="Strings"/>
<context ref="IntNumbers"/>
<context ref="HexNumbers"/>
<context ref="BinNumbers"/>
<context ref="Digital-Input-Output"/>
<context ref="Analogue-Input-Output"/>
<context ref="Time-Delays"/>
<context ref="Program-Flow-Control"/>
<context ref="Interrupts-and-Multi-Tasking"/>
<context ref="PICAXE-Variables"/>
<context ref="Serial-RS232-Interfacing"/>
<context ref="Advanced-Input-Output-Interfacing"/>
<context ref="Advanced-Configuration"/>
<context ref="Directives"/>
<context ref="Mathematical-Functions"/>
<context ref="Variables"/>
<context ref="Constants"/>
<context ref="noch-unbekannt"/>
<context ref="My-Keywords"/>
</include>
</context>
 
</definitions>
 
</language>
 



und die "picaxe.xml"

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
 
<style-scheme name="PICAXE" id="picaxe" version="1.0">
 
<author>Hermann Friedhoff</author>
<description>PICAXE Farbschema</description>
 
<!--
 
Author: Hermann Friedhoff <foto-schubser@arcor.de>
Copyright (C) Hermann Friedhoff <foto-schubser@arcor.de>
Start: 23.11.2014 Stand: 11.12.2014
 
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
-->
 
<!-- Farben für einen PICAXE-Quelltext -->
 
<color name="red" value="#FF0000"/>
<color name="green" value="#00DD00"/>
<color name="blue" value="#0000FF"/>
<color name="yellow" value="#FFFF00"/>
<color name="brown" value="#AA0000"/>
<color name="orange" value="#FF8822"/>
<color name="grey" value="#808080"/>
<color name="purple" value="#A020F0"/>
<color name="violet" value="#6A5ACD"/>
<color name="pink" value="#FF00FF"/>
<color name="cyan" value="#008A8C"/>
<color name="black" value="#000000"/>
<color name="white" value="#FFFFFF"/>
<color name="dark-green" value="#00BB00"/>
<color name="dark-yellow" value="#FFF000"/>
<color name="dark-grey" value="#606060"/>
<color name="test" value="#AA0000"/>
 
<!-- Farben für einen PICAXE-Quelltext zuweisen -->
 
<style name="picaxe:red" foreground="red" />
<style name="picaxe:green" foreground="green" />
<style name="picaxe:blue" foreground="blue" />
<style name="picaxe:yellow" foreground="yellow" />
<style name="picaxe:brown" foreground="brown" />
<style name="picaxe:orange" foreground="orange" />
<style name="picaxe:grey" foreground="grey" />
<style name="picaxe:purple" foreground="purple" />
<style name="picaxe:violet" foreground="violet" />
<style name="picaxe:pink" foreground="pink" />
<style name="picaxe:cyan" foreground="cyan" />
<style name="picaxe:black" foreground="black" />
<style name="picaxe:white" foreground="white" />
<style name="picaxe:dark-green" foreground="dark-green" />
<style name="picaxe:dark-yellow" foreground="dark-yellow" />
<style name="picaxe:dark-grey" foreground="dark-grey" />
 
<style name="picaxe:red-b" foreground="red" bold="true" />
<style name="picaxe:green-b" foreground="green" bold="true" />
<style name="picaxe:blue-b" foreground="blue" bold="true" />
<style name="picaxe:yellow-b" foreground="yellow" bold="true" />
<style name="picaxe:brown-b" foreground="brown" bold="true" />
<style name="picaxe:orange-b" foreground="orange" bold="true" />
<style name="picaxe:grey-b" foreground="grey" bold="true" />
<style name="picaxe:purple-b" foreground="purple" bold="true" />
<style name="picaxe:violet-b" foreground="violet" bold="true" />
<style name="picaxe:pink-b" foreground="pink" bold="true" />
<style name="picaxe:cyan-b" foreground="cyan" bold="true" />
<style name="picaxe:black-b" foreground="black" bold="true" />
<style name="picaxe:white-b" foreground="white" bold="true" />
<style name="picaxe:dark-green-b" foreground="dark-green" bold="true" />
<style name="picaxe:dark-yellow-b" foreground="dark-yellow" bold="true" />
<style name="picaxe:dark-grey-b" foreground="dark-grey" bold="true" />
 
<!-- Farben die schon für andere Texte vorhanden sind -->
 
<style name="current-line" background="#eeeeec" />
<style name="draw-spaces" foreground="#babdb6" />
<style name="bracket-match" foreground="#FFFFFF" background="#BEBEBE" bold="true" />
<style name="bracket-mismatch" foreground="#FFFFFF" background="#FF0000" bold="true" />
<style name="right-margin" foreground="#000000" background="#000000" />
<style name="search-match" background="#FFFF00" />
<style name="def:comment" foreground="#0000FF" />
<style name="def:shebang" foreground="#0000FF" bold="true" />
<style name="def:doc-comment-element" italic="true" />
<style name="def:constant" foreground="#FF00FF" />
<style name="def:special-char" foreground="#6A5ACD" />
<style name="def:identifier" foreground="#008A8C" />
<style name="def:statement" foreground="#A52A2A" bold="true" />
<style name="def:type" foreground="#2E8B57" bold="true" />
<style name="def:preprocessor" foreground="#A020F0" />
<style name="def:error" background="#FF0000" bold="true" />
<style name="def:warning" background="#FFFF00" />
<style name="def:note" foreground="#0000FF" background="#FFFF00" bold="true" />
<style name="def:underlined" italic="true" underline="true" />
<style name="diff:added-line" foreground="#008B8B" />
<style name="diff:removed-line" foreground="#6A5ACD" />
<style name="diff:changed-line" foreground="#A020F0" />
<style name="diff:special-case" foreground="#FF00FF" />
<style name="diff:location" foreground="#A52A2A" bold="true" />
<style name="diff:diff-file" foreground="#2E8B57" bold="true" />
<style name="xml:tags" foreground="#008A8C" />
<style name="xml:attribute-name" foreground="#6A5ACD" />
<style name="xml:namespace" foreground="#2E8B57" bold="true" />
<style name="js:object" foreground="#2E8B57" bold="true" />
<style name="js:constructors" foreground="#008B8B" />
<style name="latex:display-math" foreground="#6A5ACD" />
<style name="latex:command" foreground="#2E8B57" bold="true" />
<style name="latex:include" foreground="#A020F0" />
<style name="sh:variable" foreground="#6A5ACD" />
<style name="Others" foreground="#2E8B57" bold="true" />
<style name="Others 2" foreground="#008B8B" />
<style name="Others 3" foreground="#6A5ACD" />
 
</style-scheme>
 



Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Mousepad als ProgrammEditor

#3 von BoomBoomMagic , 19.04.2019 00:27

Sorry , aber .... was ist das für eine gequirlte Scheisse

Die eine Datei beinhaltet lediglich die englischen Befehle die es schon lang in deutsch gibt !
Die andere eine Aufstellung ....... Variablen oder was auch immer ....
Ich glaube mit dem Mist kann so garkeiner was anfangen


Bleiben wir doch besser bei Windows und dem Picaxe-Editor !

Bin aber gern offen für Sinn und Zweck der Auflistung dieser Sachen.


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 879
Registriert am: 24.01.2019

zuletzt bearbeitet 19.04.2019 | Top

RE: Mousepad als ProgrammEditor

#4 von Naubaddi , 19.04.2019 15:47

Hi,

Zitat von BoomBoomMagic im Beitrag #3
Sorry , aber .... was ist das für eine gequirlte Scheisse...
...Ich glaube mit dem Mist kann so garkeiner was anfangen...
...Bleiben wir doch besser bei Windows und dem Picaxe-Editor...


das sind die 2 Dateien für Mousepad, damit wird die PICAXE-Syntax farblich dargestellt. Wer Linux nutzt weiß etwas damit anzufangen, es gibt nicht nur Windows-Nutzer.

Den PICAXE-Editor gibt es nur für Windows, manche Leute kennen halt nur Schnitzel. LinAXEpad für Linux (v1.5.1 für x386 mit GTK2.8+) schreibt mir vor wie mein Linux aussehen/funktionieren soll, Software hat sich dem Betriebssystem anzupassen und nicht umgekehrt.

Jeder wie Er mag, mir geht so etwas gegen den Strich.

Wenn es stört lösche dieses Thema.

Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Mousepad als ProgrammEditor

#5 von BoomBoomMagic , 19.04.2019 16:25

Zitat
Wenn es stört lösche dieses Thema.



Hier kann jeder schreiben was er mag , .....
Ich lösch nix an Beiträgen


Nur, Datei 1 ist lediglich der Befehlssatz der Picaxe und hat gornüscht mit Farben zu tun
aber egal , wer sich den Schuh anziehen mag - büdde


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 879
Registriert am: 24.01.2019


RE: Mousepad als ProgrammEditor

#6 von Naubaddi , 19.04.2019 18:59

Hi,

Zitat von BoomBoomMagic im Beitrag #5
...Nur, Datei 1 ist lediglich der Befehlssatz der Picaxe und hat gornüscht mit Farben zu tun...


keine Ahnung wie so etwas bei Windows mit Notepad oder einem anderen Editor funktioniert, bei Mousepad (oder anderen Linux Editoren) gibt es 2 Dateien. Eine für die Schlüsselwörter (die *.lang) und eine für das Farbschema (die *.xml), so kann man das Farbschema nicht nur für PICAXE-Code nutzen. Man kann die Schlüsselwörter auch mit einem anderen Farbschema benutzen, was man im Editor einfach auswählen kann.

Grüßle, Naubaddi


Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019

zuletzt bearbeitet 19.04.2019 | Top

RE: Mousepad als ProgrammEditor

#7 von BoomBoomMagic , 19.04.2019 20:02

ah , ok ... jetzt hab ich den Sinn von der XML verstanden , so ääääähnlich wie ne CSS bei HTML - grob gesagt

umständlich , aber wenn's funktioniert


++ bissel Kontext würde im Vorfeld hilfreicher sein ++


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 879
Registriert am: 24.01.2019

zuletzt bearbeitet 19.04.2019 | Top

   

pulsin und TX
deutsche Picaxe - Befehle

Picaxe Editor 5.5.5 Download
Update auf Picaxe Editor 5.5.6 Download
Picaxe Editor 6.x.x.x Download
Manual1.pdf        -      Grundwissen Download
Manual2.pdf        -      Befehle Download
Manual3.pdf        -      Beispiele Download


Press [Backspace] for back to Menu


Counter
Xobor Forum Software ©Xobor.de | Forum erstellen
Datenschutz