PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascom 2.0.0.0



chr-mt
10.10.2010, 20:02
Hi,
für lizensierte User gibt es jetzt die Version 2.0.0.0.

Gruß
Christopher

Gento
10.10.2010, 23:32
Sa , danach hat man dann V 1.12.00 Instaliert statt 2.x.

Gento

chr-mt
11.10.2010, 00:06
Warum auch immer jetzt der Versionssprung 1.12.00 auf 2.0.0.0 ist.
Die neue IDE ist es nicht, die kommt ja (hoffentlich bald) als neues Produkt heraus.

Gruß
Christopher

funkheld
11.10.2010, 12:26
die holländischen käseköppe haben noch nicht einmal "TIMSK0" angepasst für die 644 und 1284-serie.
Bascom nimmt bei diesen immer den kleinsten ohne "0", obwohl das nicht so ist bei dem AVR 644 und 1284...

*Unwillen*

stefan_Z
12.10.2010, 13:27
Hier mal für alle die letzten ChangeLogs:

1.11.9.9
- 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
waitms 1000
Next
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,"-"

1.12.0.0
- 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

2.0.0.0 , 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
i2cinit #1
i2cstart #1
i2cwbyte value ,#1
i2crbyte value,ack|nack,#1
i2cstop #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 1.11.9.8
- 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).

funkheld
12.10.2010, 14:47
Mensch, wenn 2.0.0.0 geladen wird erscheint in Bascom 1.12.0.0.

Gestern angeblich die 2.0.0.0 runtergeladen war aber 1.12.0.0

die machen zur zeit nur **von mir nicht gutgeheissene Dinge**


gruss

chr-mt
12.10.2010, 22:04
die machen zur zeit nur **von mir nicht gutgeheissene Dinge**
Ich denke nich, daß das Problem bei MCS liegt.
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.

Gruß
Christopher

chr-mt
14.10.2010, 00:06
Hi,
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 2.0.0.0 automatisch nach, ob Updates vorliegen.
Diese Funktion lässt sich aber auch abschalten.
(Options -> Environment -> Ide -> Check for updates)

Gruß
Christopher

TomEdl
18.10.2010, 19:03
Hallo!

Ich warte noch ein bisschen ab, bevor ich mein Bascom update. Also wenn es keine Umstände macht, bitte weitere Erfahrungsberichte posten. :)


Grüße
Thomas

peterfido
18.10.2010, 20:07
Backup machen und selbst testen... :D

Bei mir läuft alles mit der 2.0.0.0

TomEdl
18.10.2010, 23:34
Backup machen und selbst testen... :D

Wenn ich bloß die Zeit für solche Spielereien hätte....
;)


Grüße
Thomas

Blue72
22.10.2010, 20:40
Mensch, wenn 2.0.0.0 geladen wird erscheint in Bascom 1.12.0.0.

Gestern angeblich die 2.0.0.0 runtergeladen war aber 1.12.0.0

die machen zur zeit nur **von mir nicht gutgeheissene Dinge**


gruss

Dann hast Du kein Update gemacht sondern die Vollversion wieder runtergeladen. Das ist tatsächlich dann die 1.12. und man muss auf die 2.0.0 per Wizard updaten.

Gruß
Jens

chr-mt
25.10.2010, 10:33
Nächstes Update ist verfügbar:
2.0.1.0

Gruß
Christopher

funkheld
25.10.2010, 22:51
das ist endlich das volle "bascom" zum komplett neu installieren.

hat ja lange gedauert.

gruss

stefan_Z
28.10.2010, 02:16
Changelog 2.0.1.0

- 1wire changed so it works with Xmega as well.
- various samples in the samples\xmega folder
- bug in $swcheck fixed. the soft stack is now checked from within the other stack check routines which saves code.
- xm32A4 added, thanks MAK3 !
- getadc() for Xmega has an additional parameter so it can pass both channel and mux.
- $NORAMPZ will result in rampz treating as 1.12.0.0. In 2.0.0.0 the rampz is cleared after it has been used for pointing to flash memory.
If your app worked fine and you can not allow the extra code you can use the directive.
- xmega EBI(xram) support added. See config XRAM. Don't be intimidated by the number of options, just use the sample.
- config clock uses the RTC now of the Xmega. See the xm128-RTC.bas example
- watchog support added for XMega. See the sample xm128-WD.bas
- added DISABLE JTAG to disable the jtag interface via software. this works for normal and xmega chips.
- $forcesofti2c will force the xmega to use software i2c, it was used internally. it will not be added to the help.
- adding array index support feature resulted in a bug when using locals
- lcdvdf.lib added for a special VFD display module from "Electronic Design Bitzer". LCDAUTODIM added.
this is a 20x4 vfd display immune for ESD.
config lcdpin creates constants for the pins which are used by the lib. also MODE added for 20x4VFD.
you can also define busy for a busy pin. this is a fragment from a lib that shows the generated names. they are also visible in the report.
sbi _lcddb4dir, _lcddb4_pin ; db4
sbi _lcddb5dir, _lcddb5_pin ; db5
sbi _lcddb6dir, _lcddb6_pin ; db6
sbi _lcddb7dir, _lcddb7_pin ; db7
sbi _lcddbedir, _lcddbe_pin ; enable/strobe HIGH
sbi _lcdresetdir,_lcdreset_pin ; reset line to Output
sbi _lcddbe, _lcddbe_pin ; strobe high
cbi _lcdreset,_lcdreset_pin ; reset low
sbi _lcdreset,_lcdreset_pin ; reset was LOW so make it HIGH

- when not ubrhi setting updated the wrong register for chips with shared registers.
- config DP="," | "." to select the decimal point for the fusing() and single str() functions. Default is "."
- i2crepstart did not work for Xmega
- i2cstop for xmega did not free bus after i2creceive/i2csend, so the i2cstop command has been extended to send multiple commands.

stefan_Z
04.12.2010, 16:55
Und weiter gehts...

2.0.2.0
- start/stop timer accepts xmega timer names
- Full IDE is translated into Russian.
- config tcXX added for xmega timers
- config acxx added for xmega comparator
- simulator can simulate projects with up to 35 include files.
- dat file for m16U4 added.
- all missing dat files added for Xmega
- loadadr did not took config base into account leading to index error warning for config base 0.
- atmel programmers can load/save in HEX format too.
- ADR2 bug fixed. In 2.0.0.0 the ADR2 could point to the wrong label.
- stk600-PDI support added. When selecting stk600, PDI will be used (for xmega programming)
- $prog accepts lock and fuse bytes for xmega
- options, simulator added to save eeprom state.
- checkfloat() function added by Josef which can check a single or double and returns status about nan,zero,sign and infinity.
- pulseout changed to work with xmega.
- mcs bootloader new reset option. you can send a string for reset. To send special ascii use {}. {027} will send ascii 27.
To send { you have to use the ascii value as well since { is used to send special characters.
- mcs bootloader can use DTR or RTS for the reset.
- xmega gosub=sectic did not set _SECTIC constant.
- xm128 bootloader rewritten for XM32A4, by MAK3
- config DACB , configured DACA.
- split() when array was dimmed the same size as the number to split, the returned count was 1 too high.
- alias bug from 2.0.0.0 fixed.

chr-mt
13.12.2010, 21:52
Hi,
wer sich schonmal anschauen möchte, wie die neue IDE aussehen wird, hier der Link zum Helpfile:

http://basavrhelp.mcselec.com/index.html

Gruß
Christopher

stefan_Z
13.12.2010, 23:00
Hmm na endlich!
Code Folding und DeadCode-Finder. Danke.
Variablen Explorer der auch die automatisch generierten anzeigt - fein.
Gleich mal anschauen... Bzw. hoffentlich kommt die bald...

chr-mt
14.12.2010, 07:49
Split View finde ich auch eine schöne Idee.
Muß man nicht so oft hin- und herscrollen.

hoffentlich kommt die bald...
Das hoffe ich auch. ;)

Gruß
Christopher

funkheld
14.12.2010, 12:41
Übersetzung:
Funkheld bemäkelt, dass es die "Hilfe" nicht auch auf Deutsch gibt

stefan_Z
14.12.2010, 18:26
oder..., man könnte holland ja wieder besetzen und die dazu ermuntern, wenn sie es umsetzen ,das wir wieder rausmarschieren...

Holla, ist das hier das Bascom-Forum oder ein CSU-Stammtisch?

Die Doku ist auf Englisch, so wie eigentlich alles im Bereich Elektronik.

Und wer im Glashaus sitzt...

Groß/Kleinschreibung, Kommasetzung, das/dass - alles Regeln der deutschen Sprache, die DU erstmal lernen solltest.

Ob Marc Albers mit Bascom reich geworden ist sei mal dahin gestellt.
Der Preis von 80€ für die Vollversion (und quasi unendlich Updates) ist nicht wirklich wild. Die Demo kann ja eh alles und wer wirklich mehr als 4kB braucht, muss halt zahlen.

stefan_Z
14.12.2010, 19:55
Split View finde ich auch eine schöne Idee.
Muß man nicht so oft hin- und herscrollen.

Splitview mochte ich irgendwie noch nie - in keinem Programm...
Aber Codefolding macht schon eher was her finde ich - dann klappt man die Subs einfach schön weg und hat nur noch 30 Zeilen Programm auf dem Schirm. Hoffentlich lassen sich auch Block-Kommentare klappen, das wäre nützlich.

hardware.bas
14.12.2010, 20:22
Ich werde immer neugieriger auf die weiteren Funktionen, welche ein
Update mit der neuesten Version ergeben wird ... jedoch ... erst muss
ich mit meinen Projekt fertig werden ... eh ich mich traue, denn mein
Rechner, mit dem ich flashe ist auch nicht mehr der Neueste. VG Micha

stefan_Z
25.12.2010, 23:40
Und weiter gehts....
2.0.3.0
- mmc-xmega.lib added for using hardware SPI with xmega.
- xmega int() function did not work since it used indirect addressing mode for registers.
- xmega SPI print/input did not use the right counting register, resulting in random read/writes.
- pinout files added
- label and variable names must be unique. this because a function like lookup for example can work with variables as well
previously the variable would be used if both a label and variable existed. now you will get an error and you need to change the name of the label or variable
- updated libusb info in the help
- xmega virtual portmap config
- updated xmega pwm samples and config tcx will set output pin to output in freq/pwm mode when the CCx is enabled
- STK600 PDI programmer did not identified the chip.
- JTAG ICE programming fixed for both USB and COM port. Programmer works only in JTAG mode.
- bit compare bug from 2.0.0.0 fixed
- xm128a3def.dat , tc1 added
- Open File has a sub menu so you can open a file from the samples folder directly.
- bookmark images show larger number for better readability

Aber Leider immer noch keine neue IDE.... :-(

stefan_Z
22.01.2011, 21:26
2.0.4.0
- $include did not work for network/different drives.
- increased flash size for xmega with extended bootloader address
- config event_system added for Xmega
- new xmega samples from MAK3 added
- getrc5 supported by xmega
- xmega CONFIG POWER_REDUCTION added
- changed config port0 to vport : config vport0=A, vport1=B,vport2=.., vport3=..
- config error=ignore,nr=ignore [,nr2=ignore] will ignore errors. this will allow you to compile your code despite a possible error.
depending on the error, the resulting code will (not) work.
- buffered serial output (com1-com4) supported for xmega.
- freeing a frame with more then 255 bytes resulted in a frame space leak. (for example when using a big string as a local in a sub/function)
- simulator improved for xmega
- xmega ERAM can be assigned directly with a constant too
- xmega SPI print improved : using a comma you can specify the number of bytes to send
print #1, ar(10), 10 ; 123 ; L,2
would print 10 bytes of the array ar(), then a byte with value 123, and then 2 bytes of the varialble L
values are separated by semi colon (;) and the comma (,) serves to specify the number of bytes to send. the number of bytes may be a constant or variable.
when no value is specified the data length is used. so for a long , 4 bytes would be sent.
- xmega SPI INPUT improved :
input #1, var ;1 , ar(1);3
would get 1 byte into variable var. and then 3 bytes into array ar(). Notice that INPUT uses the , as separator and INPUT the ;
Thus for specifying the number of bytes, the ; is used. This is reversed in PRINT and INPUT.
Normally the PRINT uses ; to separate and INPUT uses , to separate.
- Arabic translation for IDE completed. Also added BDI right to left support for Arabic. Thanks Walid !
- sample for xmega reset
- set,reset and toggle use special xmega registers for less code
- Russian translation for IDE completed. Thanks Alexander !
- array index calculation generates unneeded code for some cases. It adds a zero index which does harm but creates more code.
- defword and defbyte generated an error after an update of the parser.