Bascom-AVR - 2086 (reg)

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-AVR - 2086 (reg)

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

2023-08-12:

2086.002
- a konfigurációs szakaszok is csoportosítva vannak a kód kinyit-összezárhoz
- váltókód javítva a word,int,long számára. Hiba is javítva, amikor a kapcsolót egy konstans porton használják, mint a porta.pd3
- A spi1move és a spimove for xtiny manuális SS beállítással a DDR-t állítja be a PORT regiszter helyett
- SW UART Inkey, Input, Waitkey átdolgozva $timeout miatt. Az $timeout maximális értéke &HFF_FF_FF az SW UART esetében. A bevitel akkor fejeződik be, amikor valamelyik bejövő karakter túllépi az időt.
- attiny861, START TIMER ténylegesen leállította az időzítőt, mivel rossz értéket írtak ki.
- a pufferelt soros port megváltozott. mivel egy globális változót használnak a pufferszámhoz, a megszakítások le vannak tiltva és újra engedélyezve lesznek a változó frissítése során. de azok a felhasználók, akik a BYTEMATCH opciót a soros bemeneti kóddal együtt használják
mint az input, inputbin, stb. automatikus engedélyezi a megszakításokat, mivel az olvasás letiltja/engedélyezi a globális megszakításokat. ez problémákhoz vezethet. nem jó gyakorlat a megszakításból származó adatok beolvasása, de mivel úgy tűnik, sok felhasználó használja ezt
megváltoztattuk a CLI/SEI-t úgy, hogy az I-jelző visszaálljon, és így a globális int-ek ne legyenek engedélyezve az ISR-en belüli olvasással.
- Az rnd() használata a config rnd=32-vel egy szónál/egész számnál belső változóhibát eredményez
- i2cv2_timeout.lib hozzáadva, amely megegyezik az i2cv2.lib fájllal, de időtúllépéssel arra az esetre, ha nincs eszköz csatlakoztatva.
### TÖRŐ VÁLTOZÁS ###
- a config comx txpin TX_RX_XC_XD_PIN lesz, ez jobban tükrözi, hogy az USART-hez tartozó összes lábnak alternatív pin értéke lesz
#########################
- A config comx for xtiny platform új opcióval rendelkezik: TX=DISABLED|ENABLED és RX=ENABLED|DISABLED alapértelmezés szerint mind a TX, mind az RX engedélyezve van. de letilthatja az adót vagy a vevőt
- Az M324PBdef.dat frissítve támogatja a második TWI-csatornát
- A grafikus LCD-hez mellékelt betűtípusok szóigazításra kerültek. ez abban az esetben, ha a felhasználó több END utasítást használ.
- Az illesztőprogramok (libs) frissítve, amelyek nem voltak biztonságosak, ha bővített címen porttűket használtak.
- I2C_TWI-MULTI.lib : Az i2cstop nem fogadott beállítási hívást a _i2c_chan_setup felé, amikor a CONST _TWI_STOP_TIMEOUT nem volt meghatározva, ami a telefon bontását eredményezi
- Az AVR-DOS frissítve az xtiny számára és hozzáadott mintafájlok: FlashCard-demo-XTINY.bas, Config_MMCSD_HC_XTINY.inc, CONFIG_AVR-DOS.inc
- Bootloader hozzáadva a megaxhoz : BootLoader-MegaX.bas az m4808-tca0-BOOT.bas fájl használható a $romstart demó betöltésére
- dim SAFE megváltozott lásd a súgót
- val() egy duplája a + vezető karakterlánchoz NAN-t eredményezne.
- a decr/incr nem védte a SAFE-el halványított változókat
- szerkesztő több keresés kiemelése és több kijelölés kiemelése hozzáadva
- com5 és com5 pufferelt kimenet az xtiny hibához javítva, ahol dupla címkét használtak.
- Az RTF export mostantól nagybetűvel írja az IO-regisztereket, ahogyan azok a képernyőn megjelennek.
- a szimulátor most külön regiszterteret használ. régi AVR, xmega és xtiny különböző memóriatérképekkel rendelkezik. míg a régebbi AVR képes elérni a regisztereket egy pointerrel, addig az xmega és xtiny nem.
a szimulátor tervezése közben volt egy memóriaterület. de kiderült, hogy néhány regiszterbe írt utasítás valójában alacsonyabb IO-területre írt. Szóval ezt átírták.
Ez azt jelenti, hogy a szimulációs kód nagy része megváltozott. Kérjük, jelentse a szimulációs hibákat a támogatásnak.
- config dmxslave támogatás hozzáadva az xtiny platformhoz
- A com5 és com6 xtiny pufferelt soros bemenete duplikált címke hibát adott
- javítva: néhány programozónak, mint az stk200, stk300, kamprog, már nincs ikon az eszköztáron. és a választott méret sem működött.
- az előzmények törlése a keresőmezőben nem működött megfelelően (jobb egérgomb)
- config tcpip a w5500-hoz támogatja az xtiny-t
- A $ASM blokkban lévő CLS BASIC CLS-nek tévesen
- A bitek_számának eltolása nem fogad el helyi/paramétert
- Az xmega com5 pufferelt soros kimenete hibát okozott
- dcf77 xtiny támogatja a TCA0-t
- Az EDC felhasználónak jó ötlete volt az usb-soros portok értesítéséről. egy figyelmeztető ablak jelzi, ha CDC-t ad hozzá vagy távolít el
- $programozó bővítve konstansokkal a programozók számára és további COM paraméterrel. A prog.inc tartalmazza a programozók konstansait
- writedac utasítás hozzáadva az xtiny platformhoz
- szimulátor usart emuláció hozzáadva az xtiny platformhoz
- baud utasítás implementálva az Xtiny számára
- getrc5 xtiny támogatás, háttér mód is hozzáadva a tcbx-hez. ellenőrizze a config-rc5-öt a súgóban és az avrx128da28-RC5-Background-send-receive.bas mintát
- rc5send xtiny támogatás, ellenőrizze az rc5send konfigurációját
- config strcheck
- Config tca0 splitmode javítva. lásd még a példát. ehhez az összes DAT fájl frissítésére is szükség van.
- $romstart hibajavítás a szimulátorban (elpm, lpm)
- A Baud állítás javított. nem támogatja a HW UART csatornáit. akkor is hibát jelez, ha nem létező csatornákat próbál használni.
- FM24C64_256-XMEGA.lib támogatás a karakterláncokhoz hozzáadva.
- updi dat fájlok mega808,1608 és 3208-hoz. 64DB32,128DB32,128DA48,128DA32,32DA48,64DA64,128DA28
- Updi programozó továbbfejlesztve, most 1,6 Mbaud-ig működik. nem minden processzor támogatja ezt. Lásd a súgót. A chip-feloldó funkció és a chip-visszaállítás is támogatott.
lockbit táblát is hozzáadott a DA/DB sorozathoz. ezek a platformok 4 bájtos azonosítót használnak a zároláshoz.
Az updi használhatja a DTR/RTS-t az adatok és/vagy a 12V-os impulzusok váltásához. A 12 V-os impulzus az UPDI eléréséhez használatos, ha az updi/reset meg van osztva, és a láb visszaállítási funkcióra van programozva.
- A tcpip w5500 kijavított egy hibát a > 64 KB-os processzorokkal rendelkező xmega esetében. A tcpwrite és a tcpwritestr keverése azt eredményezheti, hogy az sram rossz oldalra fér hozzá.
- néhány ellenőrzés hozzáadva a karakterlánc-hozzárendeléshez/áthaladáshoz. ha túl nagy konstansokat használ, hibaüzenetet kap. akkor is hibaüzenetet kap, ha több ideiglenes memóriát igényel, mint amennyi a $framesize paraméterben van megadva
lásd még a 406-os hiba súgóját
- String dupla konverziós karakterlánccal a tudományos jelölések konverziós hibájában javítva, amikor egy vezető mínusz volt. támogatást is adott a nagyobb xtiniekhez.
- néhány képernyőméretezési probléma javítva.
- A DB/DA sorozatok más módszert használnak az UPDI biztosíték/eeprom/aláírás írására. Ez javítva van.
- Az xtiny 128 SRAM-mal nem szimulált megfelelően. A mutatók MSB-je sem volt beállítva, mivel a normál AVR-nek nincs erre szüksége 128 SRAM chiphez
mivel az xtiny-nek más memóriamodellje van, ez memóriahibákhoz vezet
- az optimalizálás nem ismerte fel a jelzőregisztereket. kód, például: portf_flags = portf_flags nem kerül végrehajtásra.
- a kamprog ikonok nem látszottak
- Egy konstans írása egy eeprom karakterláncba egy normál AVR-n nem sikerülne
- a bascom bezárása nyitott programozói ablakkal elérési hibát produkált
- A lib manager hozzáadhat egy rutint a vágólapról
- int_trig.lib 64K határhiba javítva (qsin/qcos)
- Az xtiny/megaX dat fájlok ADC értékét 8 bites/10 bites felbontásra cserélték
- Az mcucr regiszter nem lett megfelelően törölve a régi AVR processzorok indításakor. csak a WD jelző lett visszaállítva, vegye figyelembe, hogy ne írjon 0-t, mivel egyes AVR-ek más nem kapcsolódó bitjelzőket tartalmaznak az MCUCR regiszterben!
Az ilyen processzorok egy további maszkot tartalmaznak a dat fájlban: WD=MCUCSR.WDRF, $E0
- hexadecimális szám hozzárendelése duplához nem működött minden számnál
- Az uart szoftver várakozási kulcsa nem támogatja az időtúllépést.


Eredeti:
2086.002
- config sections are also grouped for code collapse
- toggle code improved for word,int,long. Also bug fixed when toggle as used on a port with constant like porta.pd3
- spi1move and spimove for xtiny using manual SS setting would set DDR instead of PORT register
- SW UART Inkey, Input, Waitkey revised for $timeout. $timeout maximum value is &HFF_FF_FF for the SW UART. Input will end when one of the incoming characters times out.
- attiny861 , START TIMER did actual stop the timer since the wrong value was written.
- buffered serial port changed. since a global variable is used for the buffer count, the interrupts are disabled and reenabled during updating this variable. but users that use the BYTEMATCH option in combination with serial input code
like input, inputbin, etc. autmatic enable the interrupts since reading disable/enables global interrupts. this can lead to problems. it is not good practice to read data from the interrupt but since many users seems to use this
we changed the CLI/SEI so that the I-flag is restored and thus global ints are not enabled by reading inside the ISR.
- using rnd() with config rnd=32 on a word/integer result in an internal variable error
- i2cv2_timeout.lib added which is the same as i2cv2.lib but with a time out in case no devices are connected.
### BREAKING CHANGE ###
- config comx txpin becomes TX_RX_XC_XD_PIN this better reflects that all pins belonging to the USART will have an alternative pin value
#########################
- config comx for xtiny platform has a new option : TX=DISABLED|ENABLED and RX=ENABLED|DISABLED by default both TX and RX are enabled. but you can disable the Transmitter or Receiver
- M324PBdef.dat updated to support second TWI channel
- included fonts for graphical LCD are now word aligned. this in case the user uses multiple END statements.
- drivers(libs) updated that were unsafe when using port pins on an extended address.
- I2C_TWI-MULTI.lib : i2cstop missed setup call to _i2c_chan_setup when CONST _TWI_STOP_TIMEOUT was not defined resulting in a hang up
- AVR-DOS updated for xtiny and added sample files : FlashCard-demo-XTINY.bas , Config_MMCSD_HC_XTINY.inc , CONFIG_AVR-DOS.inc
- bootloader added for megax : BootLoader-MegaX.bas the file m4808-tca0-BOOT.bas can be used to load to demo $romstart
- dim SAFE changed see help
- val() to a double for a string with leading + would result in NAN.
- decr/incr did not protect variables dimmed with SAFE
- editor multi search highlight and multi selection highlight added
- com5 and com5 buffered output for xtiny bug fixed where there was a double label used.
- RTF export now capitalizes IO registers, just as they appear on screen.
- simulator now uses a separate register space. old AVR, xmega and xtiny have different memory maps. while older AVR can reach the registers by a pointer, the xmega and xtiny can not do so.
while desgning the simulator there was one memory area. but it turned out that some instructions writing to registers, actually wrote to lower IO space. So this has been rewritten.
This means that a lot of the simulation code has been changed. Please report any simulation bug to support.
- config dmxslave support added for xtiny platform
- xtiny buffered serial input for com5 and com6 gave a duplicate label error
- fixed: some programmers like stk200,stk300, kamprog have no icon any longer in the toolbar. and the chosen size was not working either.
- clearing history in search box did not work properly(right mouse button)
- config tcpip for w5500 supports xtiny
- CLS in $ASM block mistaken as BASIC CLS
- shiftout number_of_bits would not accept a local/param
- buffered serial output com5 for xmega caused an error
- dcf77 xtiny support TCA0
- user EDC had a good idea about notification of usb-serial ports. you are notified with an alert window when a CDC is added or removed
- $programmer extended with constants for programmers and additional COM parameter. prog.inc contains the constants for the programmers
- writedac statement added for xtiny platform
- simulator usart emulation added for xtiny platform
- baud statement implemented for Xtiny
- getrc5 xtiny support, also background mode added for tcbx. check config-rc5 in the help and the avrx128da28-RC5-Background-send-receive.bas sample
- rc5send xtiny support, check config rc5send
- config strcheck
- config tca0 splitmode fixed. see also the example. this also requires an update of all DAT files.
- $romstart number of bugs in simulator fixed (elpm, lpm)
- Baud statement improved. it did not support channels for a HW UART. it will also raise an error when you try to use non existing channels.
- FM24C64_256-XMEGA.lib support for strings added.
- updi dat files for mega808,1608 and 3208. also added 64DB32,128DB32,128DA48,128DA32,32DA48,64DA64,128DA28
- updi programmer enhanced, it works up to 1.6 Mbaud now. not all processors support this. See help. Also added unlock chip function and chip reset is supported.
also added lockbit table to DA/DB series. these platforms use a 4 byte ID to lock.
updi can use DTR/RTS for switching data and/or a 12V pulse. 12V pulse is used to access UPDI when the updi/reset are shared and the pin is programmed for reset function.
- tcpip w5500 corrected a bug for xmega with > 64KB processors. mixing tcpwrite and tcpwritestr could result in sram accessing a wrong page.
- some checks added for string assignment/passing byval. when constants are used that are too big you get an error. you also get an error when you claim more temp memory than specified with $framesize
see also the help for error 406
- string to double conversion with string in scientific notation conversion bug fixed when there was a leading minus. also added support for the bigger xtinies.
- some screen scaling problems fixed.
- DB/DA series use a different method for the UPDI fuse/eeprom/signature writing. This is corrected.
- xtiny with 128 SRAM did not simulate correct. Also the MSB of pointers were not set since normal AVR do not need this for 128 SRAM chips
since xtiny has a different memory model this lead to memory bugs
- optimization did not recognize flag registers. code like : portf_flags = portf_flags would not be executed.
- kamprog icons were not visible
- writing a constant to an eeprom string on a normal AVR would fail
- closing bascom with programmer window open produced an access error
- lib manager can add a routine from the clipboard
- int_trig.lib 64K boundary bug fixed (qsin/qcos)
- xtiny/megaX dat files had ADC value exchanged for 8bit/10bit resolution selection
- mcucr register was not properly cleared at start up for old AVR processors. only the WD flag was reset, notice you should not write a 0, since some AVR have other unrelated bit flags in the MCUCR register!
processors like that will have an additional mask in the dat file : WD=MCUCSR.WDRF,$E0
- assigning a hex number to a double did not work for all numbers
- waitkey() for the software uart did not support timeout.
http://www.tavir.hu - a gazda :)
Válasz küldése