Bascom 2.0.7.6

Bascom, Wiring és Arduino frissítések, hátterei esetleges hibái
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Bascom 2.0.7.6

Hozzászólás Szerző: Robert »

Csak regisztrált verzió érhető el:


2.0.7.6.001
- #elseif added to conditional compilation
- canbaud improved so it will calculate for all frequencies.
- config power ...., bug for xmega, modes standby and exstandby fixed.
- ON value GOTO|GOSUB now support locals/passed parameters.
- tcipip 5100 lib : for xmega tcpwrite/tcpwritestr failed because of an invalid offset in case of sram
- bug caused box, line and boxfill not to work with arrays
- stk500 programmer can read/write target and reference voltage.(menu option Board, Stk500)
- config debounce accepts a word for the delay now.
- when writing a user lib such as bcd.lib (called from bin2bcd16.bas) , you need to add some code that will restore the SREG register.
you need to include it before you return. _FPROTECT is set by the compiler. $noframeprotect will result in a value of 0.
And by default it will be set to 1.
#IF _FPROTECT
Out sreg,r3 ; restore I flag
#ENDIF
- added info to xtea.lib for using other rounds than 32.
- string() and space() return an empty string now when 0 bytes are specified.
- canreceive() did not work with the optional length byte. Strings are also supported now.
- printbin with RS485 : the level was set twice. but the status flag was checked twice too. this will result in an endless loop.
previously, the printbin lib function changed the level, but when sending multiple items, it is better to do that once.
So now printbin abc ; def ; klm will set the level , then will send 3 variables, and then will check the status and reset the level.
- Config Canmob , using a variable for IDTAG did not work for bitlen=11. bitlen=29 is no problem.
as a workaround you can use a variable for the bitlen :
dim bl as byte : BL=11
Config Canmob = 1 , Bitlen = BL , Idtag = Can_own_node , Msgobject = Disabled , Msglen = 4
- instr() support added to $bigstrings. instr will return a word when used with $bigstrings
- Japanese(and probably all font names with a extended characters) were not saved/restored.
- datetime.lib : changed set_date and set_time to include a return. this code is used by config clock in user mode.
- new external interrupt xmega example from user hzz added.
- added code explorer tree, see right mouse click for more options.
- current sub/function is shown while editing
- changed xm32D4,xm32a4U,xm32a4,xm16d4,xm16a4 to allow xmega eeprom programming
- _checkval constant value was not tested in the new val() option. only adding the constant would use the code, no matter the assigned value.
- 1wread() for Xmega, without optional number of bytes to read, would return the wrong value.
work around : specify the number of bytes to read.
- an invalid constant in an index would not raise an error : ar(var + cWrongConstant) = somevalue
- M164P and M324P in timer0, pwm mode, did not set port portb.3/portb.4 direction but portd.5/portd.6
- str() function in combination with interrupt code that used Y-pointer could potentially fail because of non atomic saving of Y-pointer.
- waitus variable : when variable was 0, it would result in 65535 us delay. a check for 0 is added.
low $crystal values combined with a low delay will result in a longer delay because the test will use time as well.
- attiny1634 dat file added.
- frame protection disabled interrupts for functions without parameters. Use $noframeprotect as a work around till 2076 is released.
- config canmob did not set mask bits with the proper value (bits from tag were used). The work around is to set these registers manual.
- m16m1 support added.
- added option to make showing of TABS and sub/function/labels optional to get more screen space
- compiling a project without include files, after compiling a project with include files with an error would result in the wrong file/line error info.
- added CHDIR, MKDIR and RMDIR to the help.(AVR-DOS)
- some chips have the same device ID like the M8 and M8A for example. These are binary compatible.
Because the chip ID is not unique you get a warning message that the chip does not match. this has been changed.
Now the programmer will also look for the dat file used with $regfile.
- AVR-DOS used with CONFIG BASE 0 would result in MBR errors.
- xm64d4 support added.
- ATXEMGA128A4U support added.
- added word and dword to float conversion.
- EADOGS102 lib added.
- pressing ESC key will interrupt/stop the compiling process.
- added a check for improper array reference. this means that arrays passed to user sub/functions must be declared with ().
if you get error 380, you can either fix your code. Or you can add this to your code : Config Error = Ignore , 380 = Ignore
While this ignores the error it is best to use the proper reference. See the help DECLARE, CALL.
- the xmega chips that have TIMER2 are now supported by the CONFIG TCXX. See help.
- added $frameprotect=value , see also $noframeprotect. $noframeprotect is now default!
- when passing arrays to user sub/funcions, you need to specify ()
declare sub test(ar() as byte)
^^ array is passed
This is done for better user code validation. When you do not want to change your code and want to use the old syntax,
you can add config error command to your code to suppress the error 380.


2.0.7.5.003
- config eeprom has a new QUICK mode. (xmega only)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A minták helye:
.... Documents\MCS Electronics\BASCOM-AVR\Samples


Fontosak:
- 1 wire upgrade
- AVR-DOS: SDHC kezelése, XMega támogatás
Válasz küldése