Sa , danach hat man dann V 1.12.00 Instaliert statt 2.x.
für lizensierte User gibt es jetzt die Version 18.104.22.168.
Sa , danach hat man dann V 1.12.00 Instaliert statt 2.x.
Warum auch immer jetzt der Versionssprung 1.12.00 auf 22.214.171.124 ist.
Die neue IDE ist es nicht, die kommt ja (hoffentlich bald) als neues Produkt heraus.
Hier mal für alle die letzten ChangeLogs:
- fixed bug for SEROUT where using a variable for the number of bytes would overwrite the X register
- right() function used with a variable, and without $bigstring could lead to a pointer error, resulting in wrong result.
- Xmega SPI support added. SPI for xmega also supports dynamic channels. The variable has to start with bSPI in that case:
Open "SPI,Master,mode0,clk2,msb" For Binary As #bspivar ' use a dynamic channel
Print #bspivar , W
Input #bspivar , W
Instead of a CONFIG, OPEN is used. Notice that you have to open
- Xmega dynamic UART channel added. When using a variable that begins with bUART, you can use a dynamic channel:
For Buart_channel = 0 To 7 'when using a variable, notice that the index is 0 based !
Print #buart_channel , "UART :" ; Buart_channel
The channel does not to be opened in this case.
- $eepromsize added : $eepromsize=value. This directive can be used in cases where you use an alternative eeprom library. for example to use a
quicker and more reliable eeprom such as an external ramtron chip. Using an alternative library will use an external eeprom instead of the internal eeprom.
But in cases where your external eeprom is larger then the internal, you need to override the size. You can do this with the $eepromsize directive.
You have to take in mind that programming the eeprom will program still the internal eeprom ! So use these options with care.
- when using ISIS simulator, the IDE will set focus to ISIS when pressing F2.
- config rc5 , wait feature documented. default is 100 (6.4 ms)
- crc16() will pass a word instead of a byte. this means you can get crc16 of a bigger array.
- config kbd has an additonal parameter named COLS. By default this is 4. Some chips do not have port pin 7 and for these cases you can use COLS=3, or COLS=2
This does assume that columns are connected to the high port nibble.
- writeeeprom/readeeprom when used with a constant address did not store the address when used with auto increase:
writeeeprom var, 1 : writeeeprom var
- split() function did not return empty array elements. Those were ignored:
consider this string : "1,2,,4,5" . it would return 1,2,4 and 5. Since there is a delimiter, it is
better to return an empty element.
- mega1284P, M644P dat file , stk500 eeprom section corrected.
- tinyx61 have a 16 bit timer0 but the LSB and MSB registers are not lineair in memory. If used in 16 bit mode, you need to handle this yourself.
reading : read LSB first, then MSB. Writing : write MSB first, then LSB. (does NOT apply to Xmega)
- DMXSLAVE needs aliases for UCSRxA registers. These were added to the DAT files.
- PORTA, DDR and PIN registers added to tiny48 and tiny88 since TQFP version has this port.
- M32M1 support added. Notice that is does not have TWI or a UART. The LIN can be used in UART mode but is not supported yet.
- [FLAG] section added to dat files. Some micro's have the flag register located in non-bit addressable space
in such a case, SBI will not work to reset the bit and OUT or STS is used. For FLAG registers, the current content may not be read.
While for normal registers, when setting a bit, the content must be read before the bit is set.
- mega3250P support added.
- CONFIG INPUT defaulted to the default settings. this was caused by modification for the xmega. Also notice that CONFIG INPUT0 need to be specified as INPUT or INPUT1.
- USBASP Programmer problem fixed with internal memory pointer(resulting in wrong flashing)
- dat files include info for new IDE, same dat file set will be used.
- CLOSE for SW UART explained in more detail in the help.
- print preview and print use the same font settings now.
- stk500 external programmer(stk500) was called with wrong COM parameter after higher COM ports were added to options. In this change the numbers where changed into COMx.
- tiny2313 dat file had a type error for IDLE mode.
- tiny48/88 TQFP32 pinout xml files had a few errors
- instead of config lcd=16*2 you can use X instead of *. This is needed for beta IDE. Example : config lcd=16x2
- CONFIG DATE needs "" for the separator : config date=dmy,"-"
- Xmega caused a bug in non-xmega timer handeling : non xmega have a normal abd absolute address for IO regs which differ by 32. (normal registers space).
This offset was determinted too late, resulting in a wrong address for internal variables like timer0.
These special byte variables are now placed in the dat file.
This error was not visible when you compiled your code more then once! Only a fresh start and first compilation would reveal this bug.
- swap supports swap of double too. Also, swap with a single parameter can swap a nibble or 2 bytes:
swap b where b = &B11110000 will result in 00001111
for word/integer, it will swap the bytes : w=&B11110000_1100_0000 -> 1100_0000_1111_0000 or &HABCD becomes CDAB.
- bccard port parameter changed into full port name. See help.
- config twislave has a new option : userack=ON|OFF. When on, you can set ack/nack from your code. Also fixed a bug where the default setting did not save all registers.
- m32U4 : getadc() did not used ADC_MUX value from the dat file.
- myAVR programmer, changed error messages to info msg.
settings : 19200 baud.
- internal assembler allowed a backwards jump of 1 too many. in glcdeadogm128x6 this caused a wrong jump for chips>64KB.
- using $noramclear in combination with $initmicro could give an memory access error(invalid pointer).
- m32U4.dat file had missing mux5 bit, also corrected interrupt section.
- Windows 7-64 bit support added for LIBUSB.
- crc16 change for word sized arrays did not work for words but only bytes.
- internal loadbit routine which was rewritten in 11199 to check for boundery errors, had a bug for arrays with a constant index. The offset was 1 off.
this means that sombit=ar(3).8 would load the wrong bit location.
- RTF export will place the content in the clipboard too.
- power mode bug fixed: SE was not set when none of the SM bits were 1.
- usbasp (and other atmel programmers) gave a division by zero error for AT90XXXX chips (chips that do not use page programming)
- replaceChars string, oldchar,newchar will replace all characters in string.
- added tiny4313 support(programming untested)
- added button to insert $regfile, and $stack to the editor
126.96.36.199 , yes this is the new version number
- Josef rewrote the single power() to fix a bug with the sign. This new code does use more code.
- RAMPZ : when Z is loaded, the RAMPZ is set when it was used before to point to data in flash memory.
This will generate more code but is needed because when RAMPZ is changed and data is exchanged between X and Z, it is important
that Z points to the proper data in RAM.
- readsig() added for xmega, use it to load calibration data
- beta : added stackcheck directive $hwcheck,$framecheck and $softcheck
- xmega buffered serial input supported
- xmega config adc did not support CH1_GAIN - CH3_GAIN parameters.
- split() supports variable for the delimiter too now. (previously it only supported a constant)
- declare function/sub REQUIRE (). So declare sub test is NOT ok, but declare sub test() is.
- Xmega AES encyption/decryption added. See xm128-aes.bas
- xmega TWI support added. By default TWIC will be used unless you use OPEN "TWIx"
config TWI will enable the TWI so it is important to add it : CONFIG TWI|TWIC|TWID|TWIE|TWIF=baud
open "TWIC" for binary as #1
i2cwbyte value ,#1
without # the default TWIC will be used.
- various xmega UART bugs resolved (some could lead to a stack error)
- $bgf had a problem with big images. this was actually a problem of the assembler. this could give problems for large font files too.
- Xmega baud rate calculation improved, now the lowest possible error will be calculated for BSEL/BSCALE.
- config servo has a new parameter and alternative code for working with servos. when using INTERVAL=t , then the alternative code will be used.
It is best to use a reload value of 100 and an interval of 100. This is optimized for normal RC servos.
- instead of ar(a+1) you can also use a variable : ar(A+J)
- bylabel added to sub/function which allows to pass the address of a label.
- uarts of type 3 (shared UBRI register) did not set UMSEL bit resulting in bad data bits. using CONFIG COM did/does work correct. This problem was only visible when
using the old style where the com port is automatic configured when using $BAUD.
- soft spi now supports mode 0,1,2 and 3. if not specifying mode=, then the default mode 1 will be used.
when using the MODE, you can also specify setup and speed. setup and speed expect a numeric constant.
setup is the delay in uS before sampeling the MISO pin. speed is a delay in us. when you specify 1, it will result in a 2 uS or 500 KHz clock.(estimated)
you can use either SS or NOSS, NOSS and SS are inverted. to disable SS use : SS=NONE, or NOSS=1
- toggle for arrays with constant bit number worked on element 1.
- DIDR reg added to tiny2313
- mcs bootloader can send EEP file too if it exists.
- accessing an array in a sub/function with a local var and offset (var(a+3)) did not added the offset to the element.
- m48Pdef.dat file added
- getrc5 , use 2000 for the 131 ms wait as it was in 188.8.131.52
- config print2 end print3 did not set rs485 level for the PRINT statement.
- the idle, powersave and powerdown are depriciated. use power [option].
the old statements will convert automatic to the new power statement.
- m1284p added to config clock.
- tiny13A dat file added. Notice that this A version has the same signature as the normal Tiny13.
- in options, enviroment, IDE you can select to check the version when you start the IDE
- tiny25,45 and 85 did not had a timer1 reference in the dat file (alias for tcnt1)
- crc32 uses a word for the number of bytes instead of a byte
- the simulator saves the state of the EEPROM. This means that when writing the EEPROM, you
Use the popup menu to clear the EEPROM (set all values to FF)
- uspasp and other atmel programmers did not erase the chip when using 'autoprogram'. Also auto refresh for lock and fuse bits was not enabled.
- stcheck used brge(signed compare) instead of brsh(unsigned compare)
- tiny48/tiny88 do not support HW MUL, dat files adjusted.
- mmc.lib saves R23 in case an extened port is used for the interface.
- charpos() accepts additional parameter with starting value. (>0)
- ####### IMPORTANT FEATURE ########
config base=0 | 1 added. By default arrays are 1 based in bascom. with config base=0, arrays start a 0.
dim ar(5) will occupy elements 0-4 ! In some old basic(QB) and VB it would take 0-5 thus 1 additional element.
- config lcdpin did not override options from the CFG file when bus mode was selected.
- waitus accepts a variable too. it will only work reliable when the oscillator speed is high enough.
- config i2cdelay did not update ___I2CDELAY constant used by soft i2c.
- mcs bootloader will ask if EEP file need to be programmed when this file exists.
- max() procedure (not the function) returned wrong index value for bytes which had the ms bit set(signed compare was used instead of unsigned).
Ich denke nich, daß das Problem bei MCS liegt.die machen zur zeit nur **von mir nicht gutgeheissene Dinge**
Bei mir funktionierte das einwandfrei, auch bei meinen Kollegen gab es keinerlei Probleme beim Update.
Der Update-Wizard hat auch das neue LIC File automatisch runtergeladen.
Probiere es noch einmal, eventuell in ein anderes Verzeichniss installieren ?.
Wenn du dann immer noch ein Problem hast, wende dich mal an den Support.
Bugreports werden in der Regel ja recht schnell bearbeitet.
Mark hat bereits das nächste Update für Ende der Woche angekündigt.
Es soll einige bugfixes enthalten , sowie weitere Unterstützung für XMegas.
Übrigens fragt Bascom ab 184.108.40.206 automatisch nach, ob Updates vorliegen.
Diese Funktion lässt sich aber auch abschalten.
(Options -> Environment -> Ide -> Check for updates)
Backup machen und selbst testen...
Bei mir läuft alles mit der 220.127.116.11
Wenn das Herz involviert ist, steht die Logik außen vor! \/