tag:blogger.com,1999:blog-19303687174050266942024-03-13T13:26:02.749+02:00Digital electronics and programingOn this blog I try to do projects and post the most visited projects can be found on the Internet ( Only my creation )MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.comBlogger60125tag:blogger.com,1999:blog-1930368717405026694.post-70562403683484761022020-07-02T00:45:00.002+03:002020-07-25T17:12:56.475+03:00arduFPGA Design Composer to easily compose designs for arduFPGA boardsThis project is intended to easily compose custom FPGA designs even by developers that does not know how to write a FPGA design.<div><br /></div><div>The IDE will use something like drag and drop modules on a sheet and connect them together in the easiest way.</div><div><br /></div><div>The IDE is at beginning of development, but with time will become a fully functional multi platform FPGA Design Composer.</div><div><br /></div><div>Is done using MinGW to be available on all platforms Linux, Windows and MacOS.</div><div><br /></div><div>Here is a print screen of the development level at this day:</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-t6LsJaiz5iM/Xxw9TGzPULI/AAAAAAAACGg/gghvOLFFr_0zGD2jTX1gJbB9JVEEXHA7wCLcBGAsYHQ/s2048/arduFPGA_design_composer_demo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2048" data-original-width="1902" height="625" src="https://1.bp.blogspot.com/-t6LsJaiz5iM/Xxw9TGzPULI/AAAAAAAACGg/gghvOLFFr_0zGD2jTX1gJbB9JVEEXHA7wCLcBGAsYHQ/w580-h625/arduFPGA_design_composer_demo.png" width="580" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">The initial reason for developing this IDE was to easily compose designs for arduFPGA boards using LATTICE iCE40UP5K FPGA and will be extended to Xilinx Artix FPGA's, but as soon as the IDE will be usable will be made open source under GPLv2 license, will be open for everybody to contribute and edit the code to suit their needs.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><h3 style="clear: both; text-align: left;">Update:</h3><div>At current stage adruFPGA Design Composer begin to generate some code.</div><div><br /></div>MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-81983439710571346262020-06-24T12:54:00.018+03:002020-11-27T12:40:41.478+02:00arduFPGA-game-console runs arduino made games for arduboy, with dedicated audio codec<div>The board is designed around a LATTICE iCE40UP5K that implement a ATmega32U4 with the necessary IO's to run unmodified arduboy games, also ( optionally ) includes a VS1053b audio decoder to play music from uSD or create games with more complex sounds.</div><div><br /></div><div>This board is a derivation of ARDUFPGA ICE40UP5K V1.1 board</div><div><br /></div><div><a href="https://digitalelectronicsandprograming.blogspot.com/2020/05/ardufpga-ice40up5k.html">https://digitalelectronicsandprograming.blogspot.com/2020/05/ardufpga-ice40up5k.html</a></div><div><br /></div><div>in portable format with a size of only 68x43mm, smaller than a credit card.</div><div><br /></div><div><font size="5"><b>As hardware, there is:</b></font></div><div><br /></div><div>1x LATTICE iCE40UP5K.</div><div>1x SSD1306 OLED 128x64 BW display/ ST 7735S 160x80 color TFT display.</div><div>1x 2MB of SPI FLASH for the design, the GUI boot-loader and the user application (game), with an endurance of minimum 100K erase/write.</div><div>1x Optionally VS1053b dedicated audio decoder.</div><div>1x Electret buzzer.</div><div>1x RGB powerfull LED that can be used as flashlight without exiting the played games.</div><div>1x Dedicated battery charger with status LED's.</div><div><br /></div><div><font size="5"><b>Design and firmware's:</b></font></div><div><br /></div><div>Games and applications are load from a uSD card thru two stage boot-loader:</div><div><br /></div><div>The first stage that is written inside the design and has its own 2KBytes of ROM memory and 512Bytes of RAM memory, it has even a dedicated interrupt vector named NMI that interrupt the running game every 1mS and check for INT button to be pressed, this is the service function that check if the INT button is press, if INT button is press between 100mS and 500mS this function will load the GUI boot-loader, if is press more than 500 mS will disconnect the keyboard from the running application and run the alternate functions.</div><div><br /></div><div>Second stage is a GUI explorer/boot-loader that is loaded into the emulated ATmega32U4 program memory running like a normal application or a game and has integrated the FAT FS library, check and update the design and GUI boot-loader every time a game or application is launch, in case if the running design is custom made for that application or game, when the game or running application is interrupted the GUI boot-loader will automatically save the EEPROM content to the uSD card, and load the EEPROM content from uSD card when a game or application is started, so, all game scores and history is saved if the game is changed.</div><div><br /></div><div>At this moment all games are in binary format, need to be converted from hex to bin files in order to run.</div><div><br /></div><div>The design has the capability to increase the size of ROM and RAM memory according to each developer necessities, but no more than 128KB combined.</div><div><br /></div><div>Different designs, applications source code,boot-loaders source code, user guides, schematic's and other stuff will be available on: <a href="#" id="https://github.com/dev-board-tech" name="https://github.com/dev-board-tech">https://github.com/dev-board-tech</a></div><div><br /></div><div>Of course, design and application ideas are very welcome.</div><div><br /></div><div><font size="5"><b>Update:</b></font></div><div><br /></div><div>If you short press the INT button ( between 100mS and 500mS ) the game is interrupted and the EEPROM content is saved to the uSD memory.</div><div><br /></div><div>If you press INT button more that 500 milliseconds, the keyboard is disconnected from the application, and buttons have other functionalities done by the first stage boot-loader that runs like a bios in background.</div><div><br /></div><div>The features of the first stage boot-loader are: </div><div><ul style="text-align: left;"><li>INT+ B button change the LED colour B,G,R.</li><li>INT+ A button turn ON/OFF the flashlight (RGB led becomes flashlight).</li><li>INT+ UP increase the game volume in four steps, from mute to maximum.</li><li>INT+ DN decrease the game volume in four steps, from maximum to mute.</li><li><span face="Helvetica, Arial, sans-serif" style="background-color: white; color: #222222; font-size: 15.008px;">INT+ DN decrease the game volume in four steps, from maximum to mute.</span></li><li><span face="Helvetica, Arial, sans-serif" style="background-color: white; color: #222222; font-size: 15.008px;">INT+ LEFT switch the USB connector function between UART RX/TX and video NTSC composite output.</span></li><li><span face="Helvetica, Arial, sans-serif" style="background-color: white; color: #222222; font-size: 15.008px;">INT+ RIGHT switch the audio connector function between audio and video NTSC composite output, as protection to avoid driving the audio connector by VS10xx and the FPGA, when VS10xx is out of reset the audio connector can not be switch to composite output.</span></li></ul></div><div><span face="Helvetica, Arial, sans-serif" style="background-color: white; color: #222222; font-size: 15.008px;"><br /></span></div><div>All this functionalities at the same tame when you playing games or listen music.</div><div><br /></div><div>The volume mostly has effect on headphones, the electret buzzer does not react to much to the volume change, the volume is changed using two four bit PWN generators in the design that are connected to PORTA bit [3:2], bit [3:2] of the PWM are connected to '0' and bit [1:0] to PORTA, the real maximum volume is 1/4 of total power to avoid blowing up the listener ears :slight_smile: .</div><div><br /></div><div>The audio connector is connected directly to VS1053b and three pins of the FPGA, this pins are used by the game as audio outputs but alternatively can be used as data communication, one of the pins needing to be put to '0' to provide the ground for the communication.</div><div><br /></div><div>The USB type C connector is used for charging the battery, and for data communication, eight pins of the FPGA are wired to this connector, six of them are divided in three pairs of two wires that can be used for fast differential bidirectional communication and and are match between them or can be used as general purpose IO's, and two that can be used as general purpose IO's.</div><div><br /></div><div>There is another 3 pin header named ONE-WIRE header.</div><div><br /></div><div>BW version SSD1306:</div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-PsGfiBgVsww/X8DV7OKyATI/AAAAAAAACKY/Bcr8BsR4pKcoiwc1igpxeIaeF97LJ3R8QCLcBGAsYHQ/arduFPGA_game_console_iCE40UP_BW_Preview_TOP.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="2048" data-original-width="1387" height="640" src="https://lh3.googleusercontent.com/-PsGfiBgVsww/X8DV7OKyATI/AAAAAAAACKY/Bcr8BsR4pKcoiwc1igpxeIaeF97LJ3R8QCLcBGAsYHQ/w435-h640/arduFPGA_game_console_iCE40UP_BW_Preview_TOP.png" width="435" /></a></div><br /><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-GeCrfrI2cG8/X8DV-JNYYUI/AAAAAAAACKc/bUbQNr9WHiMUzbcG69XlGGZc2UN0mdqogCLcBGAsYHQ/arduFPGA_game_console_iCE40UP_BW_Preview_BOT.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="2048" data-original-width="1397" height="640" src="https://lh3.googleusercontent.com/-GeCrfrI2cG8/X8DV-JNYYUI/AAAAAAAACKc/bUbQNr9WHiMUzbcG69XlGGZc2UN0mdqogCLcBGAsYHQ/w437-h640/arduFPGA_game_console_iCE40UP_BW_Preview_BOT.png" width="437" /></a></div><br /><br /></div>Color version: ST 7735S:<br /><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-5kltFwvXjiI/X8DWAB48ztI/AAAAAAAACKg/YhfRLfQxGg42BcxvH1hl6nO_UBl6epYVwCLcBGAsYHQ/arduFPGA_game_console_iCE40UP_Color_Preview_TOP.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="2048" data-original-width="1379" height="640" src="https://lh3.googleusercontent.com/-5kltFwvXjiI/X8DWAB48ztI/AAAAAAAACKg/YhfRLfQxGg42BcxvH1hl6nO_UBl6epYVwCLcBGAsYHQ/w432-h640/arduFPGA_game_console_iCE40UP_Color_Preview_TOP.png" width="432" /></a></div><br /><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-Laj24HX7CrQ/X8DWBxzebnI/AAAAAAAACKk/_ie3ARhwncA1uoYxODiqC314ZwkkI7F-QCLcBGAsYHQ/arduFPGA_game_console_iCE40UP_Color_Preview_BOT.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="2048" data-original-width="1369" height="640" src="https://lh3.googleusercontent.com/-Laj24HX7CrQ/X8DWBxzebnI/AAAAAAAACKk/_ie3ARhwncA1uoYxODiqC314ZwkkI7F-QCLcBGAsYHQ/w426-h640/arduFPGA_game_console_iCE40UP_Color_Preview_BOT.png" width="426" /></a></div><br /><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div><div>The current design is a reduced IO, ATmega32u4 compatible core with 64KB of emulated FLASH memory and 32KB of RAM memory, TIM0, TIM3, TIM4, SPI, UART ( incomplete ), emulated EEPROM, extra-reduced PLL ( USB clock generator strip away ), 10bit LFSR RNG as ADC.</div><div>System IO's: </div><div>* PIOA used for design FLASH chip select, application FLASH chip select. external chip select on the ARDVARK connector, and volume control as outputs, all seven keys and LoBat signal as inputs.</div><div>* Ports 0xDB-0xFF used for boot status and FLASH memory write registers.</div><div><br /></div><div>The external chip select on the ARDVARK connector can be used as CS for an external SPI device connected to ARDVARK connector and in case if the user brick's the arduFPGA console to recover it using any other arduFPGA console or a regular SPI programmer.</div><div><br /></div><div>Board consumption from the battery is 29mA with the display at maximum bright ~90% of the pixels active, uSD initialized, RGB LED OFF, and VS1053b in reset mode ( no consumption ).</div><div><br /></div><div>The board is smaller than a credit card only 68x43x10mm in size and the space in the back of the board close to audio connector can be glued a battery up to 1Amp's in capacity giving a huge game play/ music listen time for one charge.</div><div><br /></div><div>Here is a demo:</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/btIuZTT-EpM" width="320" youtube-src-id="btIuZTT-EpM"></iframe></div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><font size="5">The board has pass the prototype stage, now I made the preparation to order the final board that will be available for purchase here: <a href="https://store.devboard.tech" id="https://store.devboard.tech" target="_blank">https://store.devboard.tech</a></font></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div>MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-75776725783889430312020-05-02T23:54:00.003+03:002020-07-02T00:19:16.453+03:00arduFPGA iCE40UP5K a FPGA development board in arduino R3 board formatA new FPGA development board in Arduino R3 format is in development and will be available for purchase very soon, now the board is in final revision stage.<br />
<br />
The board will be Open Source Hardware and will come with plenty of example designs around ATmega/Xmega and RISCv soft cores with the default PIO, UART, TWI, TIMER's, SPI and other peripherals that are found in an ATmega uC, all RTL source code is licensed under GPLv2.<br />
<br />
Some of the designs can be used for day to day work, like Oscilloscope up to about 100M samples/second and logic analyzers.<br />
<br />
The user guide can be download from <a href="http://download.devboard.tech/arduFPGA_iCE40UP5K_V1.1/arduFPGA_iCE40UP5K_user-guide.pdf" rel="nofollow noopener" style="background-color: white; box-sizing: inherit; font-family: verdana, tahoma, arial, helvetica; font-size: 13.3333px;" target="_blank">http://download.devboard.tech/arduFPGA_iCE40UP5K_V1.1/arduFPGA_iCE40UP5K_user-guide.pdf</a><br />
<br />
Will be available for purchase from <a href="https://store.devboard.tech/development-boards/1-5-ardufpga-ice40up5k-v10.html">https://store.devboard.tech/development-boards/1-5-ardufpga-ice40up5k-v10.html</a><br />
<br />
<span style="background-color: white; font-family: verdana, tahoma, arial, helvetica; font-size: 13.3333px;">The repository for all designs and source code can be found on </span><a href="https://devboard.tech/git" rel="nofollow noopener" style="background-color: white; box-sizing: inherit; font-family: verdana, tahoma, arial, helvetica; font-size: 13.3333px;" target="_blank">https://devboard.tech/git</a><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-nADJzAy__zI/Xq7su5ZYy4I/AAAAAAAACDI/WavTxO0j_Qkau9QS8TDdSfrbumGjD6OrACK4BGAYYCw/s1600/arduFPGA_iCE40UP_Preview_TOP_V1.1.png"><img border="0" height="640" src="https://4.bp.blogspot.com/-nADJzAy__zI/Xq7su5ZYy4I/AAAAAAAACDI/WavTxO0j_Qkau9QS8TDdSfrbumGjD6OrACK4BGAYYCw/s640/arduFPGA_iCE40UP_Preview_TOP_V1.1.png" width="444" /></a><a href="http://2.bp.blogspot.com/-dSh81rRkzOg/Xq7szgXn2wI/AAAAAAAACDQ/lmtBAOsWfsYvoaLaLmYeJc1DA8CSCl3egCK4BGAYYCw/s1600/arduFPGA_iCE40UP_Preview_BOT_V1.1.png"><img border="0" height="640" src="https://2.bp.blogspot.com/-dSh81rRkzOg/Xq7szgXn2wI/AAAAAAAACDQ/lmtBAOsWfsYvoaLaLmYeJc1DA8CSCl3egCK4BGAYYCw/s640/arduFPGA_iCE40UP_Preview_BOT_V1.1.png" width="448" /></a></div>
<span style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: x-large;">The board can be bought from </span><a href="https://store.devboard.tech" id="https://store.devboard.tech" name="https://store.devboard.tech" style="background-color: white; color: #674ea7; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: x-large; text-decoration-line: none;" target="_blank">https://store.devboard.tech</a><div><font color="#d52c1f" size="5">We have a delay of several days in in shipping the board due to COVID19</font><br />
<br /></div>MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com1tag:blogger.com,1999:blog-1930368717405026694.post-90428114071562158582019-01-06T18:01:00.001+02:002020-08-28T12:34:50.314+03:00RISC-V LIGHT RV32I Basic instruction set soft core IPThis is a very simple to implement RISC-V RV32I Basic instruction set parametrised soft core IP with all the necessary IO's for a basic utilisation.<br />
<br />
The ideea to create this softcore had come from principle that the ISA for this core is open source, this way if the core is destinated to create projects that will be monetized does not conflict with any proprietary license.<br />
<br />
This is a LIGHT implementation of RISC-V RV32I Basic instruction set that is not developed for speed but is developed for size, this core uses ~900LUT from XILINX Artix-7 device working at ~125Mhz and ~ 1950LUT from LATTICE MarchXO3 working at ~35Mhz.<br />
<br />
This come with some basic IO's like paralel IO, UART, SPI, TWI, LCD interface, LCD to HDMI serializer and a simple GFX accelerator ( paint horizontal and vertical lines and fill rectangles with desired colors with speed of the core bus frequency).<br />
<br />
Inside the core repository is a test project to compile a simple application running on this core, also I add support for this core and all IO's on <a href="https://github.com/dev-board-tech/multiPlatformCPP-SDK" target="_blank">MULTIPLATFORM-CPP-SDK</a> under ExampleRiscFive_FPGA directory.<br />
<br />
The example application on <a href="https://github.com/dev-board-tech/multiPlatformCPP-SDK" target="_blank">MULTIPLATFORM-CPP-SDK</a> is made for Digilent NEXIS Video board and read the PmodNAV board sensor data connected to JC and display it to the onboard OLED display and on a HDMI display on a 1440x900 resolution display.<br />
With SW0 can be selected the data that will be displayed, select data from LSM9DS1 and data from LPS25HB.<br />
There is no example application inside <a href="https://github.com/dev-board-tech/multiPlatformCPP-SDK" target="_blank">MULTIPLATFORM-CPP-SDK</a> directory for the LATTICE board.<br />
<br />
The repository of this core on XILINX platform ( <a href="https://store.digilentinc.com/nexys-video-artix-7-fpga-trainer-board-for-multimedia-applications/" target="_blank">Digilent NEXIS Video</a> ) can be found <a href="https://github.com/dev-board-tech/hdl-core-riscv-lite/tree/master/example" target="_blank">here</a>.<br />
The repository of this core on LATTICE platform ( <a href="http://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/MachXO3LFStarterKit.aspx" target="_blank">LATTICE MachXOLF Starter Kit</a> ) can be found <a href="https://git.morgothdisk.com/VERILOG/VERILOG-RISC-V-LIGHT-CORE-IP-TST-LATTICE" target="_blank">here</a>.<br />
<br />
All dependencies are placed on this repository: <a href="https://github.com/dev-board-tech?tab=repositories">https://github.com</a> MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-20462698917699376442019-01-06T17:21:00.004+02:002020-08-28T12:25:39.398+03:00ATMEGA/ATXMEGA softcore IPThis is a very simple to implement MEGA/XMEGA parametrised soft core IP with all the necessary IO's for a basic utilisation.<br />
<br />
Now that the FPGA's are on an affordable price, in some cases cheaper than an bare metal microcontroller ( for example LATTICE ICE40 UltraPlus ) and in some cases an equivalent soft core of an bare metal core is faster than the bare metal core, I developed a MEGA/XMEGA parametrised soft core with additional IO IP's like PIO, UART, SPI, TWI, LCD, GFX accelerator, even an LCD to HDMI translator for boards that have HDMI output connector on them.<br />
<br />
The repository of this core on XILINX and LATTICE platform can be downloaded from <a href="https://github.com/dev-board-tech?tab=repositories" target="_blank">here</a>.<br />
<br />MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com1tag:blogger.com,1999:blog-1930368717405026694.post-46973710689745495942018-03-17T23:11:00.000+02:002019-01-31T17:05:17.807+02:00Intel HEX file to Verilog MEM fileThis application is made to convert from Intel HEX format or BIN file to Verilog memory file format and is intended to be call by the compiler after HEX or BIN file was generated.<br />
<br />
Below is an example of usage for Atmel Studio on Post build command line:<br />
<br />
IntelHexToVerilogMem.exe -i "$(OutputFileName).hex" -o "C:\GitHub\XMEGA-CORE-IP-TST\core1ROM.mem" -g "2" -b "0x20000000" -s "2"<br />
<br />
Below is an example of usage for Eclipse on Post build command line:<br />
<br />
"${PWD}/IntelHexToVerilogMem.exe" -i "${PWD}\TestRiscVXilinx.hex" -o "C:\GitHub\VERILOG-RISC-V-LIGHT-CORE-IP-TST-XILINX\core1ROM.mem" -g "4" -b "0x8000" -s "2"<br />
<br />
The -g argument is optional (default is 2) and indicate the length in bytes on a row, values supported are power of 2.<br />
<br />
The -b argument is the offset of the memory, for example if the ROM memory start from 0x20000000 the addresses from 0 to 0x1fffffff is not included in output file.<br />
<br />
The -s argument is optional and default value is 1, valid values are 1,2 and 4.<br />
<br />
The -s argument is the split value, for example if -g = 4 and -s = 2 this application will output 3 files, one with 4 bytes on the row and two files with half a row each, file "core1ROM_0.mem" will contain bytes 1 and 0 from the 4 byte row and file "core1ROM_1.mem" will contain bytes 3 and 2 from the 4 bytes row.<br />
<br />
If -s argument is four will output five files, one with four bytes on each row and five files each with one byte on each row from a four byte row, this will help to read memory's with byte level misalignment in one single clock cycle.<br />
<br />
This argument is useful if you want to easily implement unaligned memory read and write in a single clock cycle.<br />
<br />
For example for memory's with 32 bit per words if you want to read unaligned 32 bit data you can read the low 16 bit data from file "core1ROM_1.mem" and the high 16 bit data from address + 1 from file "core1ROM_0.mem".<br />
<br />
<a href="https://git.morgothdisk.com/VERILOG/INTEL-HEX-TO-VERILOG-MEM/raw/master/IntelHexToVerilogMem/bin/Debug/IntelHexToVerilogMem.exe">Download application.</a>MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-31377977997938509262016-09-20T23:33:00.002+03:002018-03-13T04:13:49.392+02:00Raw file to C GCC array converter.This application converts all files (txt, jpg, bmp, and other) to an constant array hat can be imported to any GCC compiler.<br />
This application export a header fine and a source fine with ".h" and ".c" extension with the same name like imported file.<br />
The input can be multiple files with no filter to extension.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-rY3x3U45Fgg/V-Gdtm6vLvI/AAAAAAAAB-M/_O05WKfzSpMgnZd7-dT6IVUbtPQsga2RgCK4B/s1600/FileToGccArrayConverter.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-rY3x3U45Fgg/V-Gdtm6vLvI/AAAAAAAAB-M/_O05WKfzSpMgnZd7-dT6IVUbtPQsga2RgCK4B/s400/FileToGccArrayConverter.png" /></a></div>
<br />
From <a href="https://morgothdisk.com/downloads/FileToGccArray.exe" target="_blank">here</a> you can download the application.MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-76445711028712740072015-04-13T07:26:00.001+03:002018-03-13T04:11:43.952+02:00Lepton FLIR thermal image sensor PC application.<a href="https://www.blogger.com/blogger.g?blogID=1930368717405026694" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=1930368717405026694" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAFuCAIAAACeCT4bAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAACbCSURBVHhe7d1/syXFfd/xfQZ6GvynKsHekrZSUSX+w4oqKalSUZWsFXDLSW1CkkpUhZKqyI4BLdpbqJzyKk5iO1EEJmiX9V1YsaAFHIH4KfPzgiSQHGOjKDbIJojNMyDf7v52T3dPz5y5986c7r3n/apvwZyenpmemT7z2XO43D32j++7i6IoiqKoNZcJ4Dt++jBFURRFHcn6k89+toXKRiVFAFMURVFHubIgrFXZqKQIYIqiKOooVxaEtSoblRQBTFEURR3lyoKwVmWjkiKAKYqiqKNcWRDWqmxUUgQwRVEUdZQrC8JalY1KigCmKIqiro26blTWOVQWhLUqG5XU1AC+66VL55985Fv33nP2yrmvP3n/HT+x7W9cPv/8Y99+8pH/8PojcWeKoiiKmr00aQdknUNlQTi9PrTGW6ZXNiqpSQH8X154+PUfvn7hwoXf/dFjruX0jx+Sf971g4uPPPLIN97QRoqiKIparkZSdokAlooTN14+QGWjklodwGee393b2zt37tzrr79+/rUn41X/+dELb7755jdffmz3lSe//uKleNXB6tQt1113S3NfiZtRRT51r2/sDTVuzLaqcl52DCdP9dqnlGz7iTPfyhqTuvekOzP16Vu/nHWIqni5soqPeJiRFyobqo7kW5//tN7NNdbgQWc+5RarygWfo/Yz1eeteFbEb5CNLbkcWUuokVVZEO63XO462ap9VTYqqRUBvPP9++8+9z/uvXzxhdde+cUvfvHG23929lW/9o3L33/1T+5+/MHvvfDs+Scf0S+lD1dmts0SVPKGme9NUpz3xaHGjWmHuz513cCbZ9ahzljFs/ZlnqT5sO1DaujxWrxcWY0e8cBlh5oE212f0pG3FcBHs5LpXencD/UW2/dUX66WeYNcY1UlgKUOn75S2aikVgTwb1/47w8/+4SE69fefPjeZ7773HPP/cU7/+fMjy7Lqj988bGnn3vmwjOPfecHT/z2D+f5b8BTHtOTatZUK8774lDjxqzDl8/8SnlIsw51xiqetavBVU/c+onrfuXzT/TaBy5XViNHPHANXnZTBPDydY0H8AGm+nK1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" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>I made this application to display the Lepton FLIR thermal image sensor.<br />
<a href="https://www.blogger.com/blogger.g?blogID=1930368717405026694" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=1930368717405026694" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAFuCAIAAACeCT4bAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAACbCSURBVHhe7d1/syXFfd/xfQZ6GvynKsHekrZSUSX+w4oqKalSUZWsFXDLSW1CkkpUhZKqyI4BLdpbqJzyKk5iO1EEJmiX9V1YsaAFHIH4KfPzgiSQHGOjKDbIJojNMyDf7v52T3dPz5y5986c7r3n/apvwZyenpmemT7z2XO43D32j++7i6IoiqKoNZcJ4Dt++jBFURRFHcn6k89+toXKRiVFAFMURVFHubIgrFXZqKQIYIqiKOooVxaEtSoblRQBTFEURR3lyoKwVmWjkiKAKYqiqKNcWRDWqmxUUgQwRVEUdZQrC8JalY1KigCmKIqiro26blTWOVQWhLUqG5XU1AC+66VL55985Fv33nP2yrmvP3n/HT+x7W9cPv/8Y99+8pH/8PojcWeKoiiKmr00aQdknUNlQTi9PrTGW6ZXNiqpSQH8X154+PUfvn7hwoXf/dFjruX0jx+Sf971g4uPPPLIN97QRoqiKIparkZSdokAlooTN14+QGWjklodwGee393b2zt37tzrr79+/rUn41X/+dELb7755jdffmz3lSe//uKleNXB6tQt1113S3NfiZtRRT51r2/sDTVuzLaqcl52DCdP9dqnlGz7iTPfyhqTuvekOzP16Vu/nHWIqni5soqPeJiRFyobqo7kW5//tN7NNdbgQWc+5RarygWfo/Yz1eeteFbEb5CNLbkcWUuokVVZEO63XO462ap9VTYqqRUBvPP9++8+9z/uvXzxhdde+cUvfvHG23929lW/9o3L33/1T+5+/MHvvfDs+Scf0S+lD1dmts0SVPKGme9NUpz3xaHGjWmHuz513cCbZ9ahzljFs/ZlnqT5sO1DaujxWrxcWY0e8cBlh5oE212f0pG3FcBHs5LpXencD/UW2/dUX66WeYNcY1UlgKUOn75S2aikVgTwb1/47w8/+4SE69fefPjeZ7773HPP/cU7/+fMjy7Lqj988bGnn3vmwjOPfecHT/z2D+f5b8BTHtOTatZUK8774lDjxqzDl8/8SnlIsw51xiqetavBVU/c+onrfuXzT/TaBy5XViNHPHANXnZTBPDydY0H8AGm+nK1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" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>This application handle raw received data using uart interface.<br />
The user send the image captured by image sensor in raw mode 80 * 60 * 2bytes = 9600 bytes with a pause of about 60 miliseconds.<br />
<br />
This application can be downloaded from <a href="https://morgothdisk.com/downloads/LeptonFLIRTerm.exe" target="_blank">here</a>. (this application requires .NET Framework 2.0)<br />
From <a href="https://git.morgothdisk.com/MorgothCreator/MULTIPLATFORM-C-SDK" target="_blank">here</a> you can download a SDK that include even the STM32-E407 board application example to work with Lepton FLIR thermal image sensor.<br />
From <a href="https://git.morgothdisk.com/MorgothCreator/MULTIPLATFORM-C-SDK/tree/master/SDK/lib/device" target="_blank">here</a> you can get a simple driver to read data from image sensor using SPI interface. <br />
<br />
The sensor will be connected as fallow:<br />
Sensor CS -> PG10<br />
Sensor CLK -> PB10/SPI2_SCK<br />
Sensor MISO - > PC2/SPI2_MISO<br />
<a href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAFuCAIAAACeCT4bAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAACbCSURBVHhe7d1/syXFfd/xfQZ6GvynKsHekrZSUSX+w4oqKalSUZWsFXDLSW1CkkpUhZKqyI4BLdpbqJzyKk5iO1EEJmiX9V1YsaAFHIH4KfPzgiSQHGOjKDbIJojNMyDf7v52T3dPz5y5986c7r3n/apvwZyenpmemT7z2XO43D32j++7i6IoiqKoNZcJ4Dt++jBFURRFHcn6k89+toXKRiVFAFMURVFHubIgrFXZqKQIYIqiKOooVxaEtSoblRQBTFEURR3lyoKwVmWjkiKAKYqiqKNcWRDWqmxUUgQwRVEUdZQrC8JalY1KigCmKIqiro26blTWOVQWhLUqG5XU1AC+66VL55985Fv33nP2yrmvP3n/HT+x7W9cPv/8Y99+8pH/8PojcWeKoiiKmr00aQdknUNlQTi9PrTGW6ZXNiqpSQH8X154+PUfvn7hwoXf/dFjruX0jx+Sf971g4uPPPLIN97QRoqiKIparkZSdokAlooTN14+QGWjklodwGee393b2zt37tzrr79+/rUn41X/+dELb7755jdffmz3lSe//uKleNXB6tQt1113S3NfiZtRRT51r2/sDTVuzLaqcl52DCdP9dqnlGz7iTPfyhqTuvekOzP16Vu/nHWIqni5soqPeJiRFyobqo7kW5//tN7NNdbgQWc+5RarygWfo/Yz1eeteFbEb5CNLbkcWUuokVVZEO63XO462ap9VTYqqRUBvPP9++8+9z/uvXzxhdde+cUvfvHG23929lW/9o3L33/1T+5+/MHvvfDs+Scf0S+lD1dmts0SVPKGme9NUpz3xaHGjWmHuz513cCbZ9ahzljFs/ZlnqT5sO1DaujxWrxcWY0e8cBlh5oE212f0pG3FcBHs5LpXencD/UW2/dUX66WeYNcY1UlgKUOn75S2aikVgTwb1/47w8/+4SE69fefPjeZ7773HPP/cU7/+fMjy7Lqj988bGnn3vmwjOPfecHT/z2D+f5b8BTHtOTatZUK8774lDjxqzDl8/8SnlIsw51xiqetavBVU/c+onrfuXzT/TaBy5XViNHPHANXnZTBPDydY0H8AGm+nK1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" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-Y6Wh3P5iWIY/VStES_jlIvI/AAAAAAAAAwo/93vfosqwm9s/s1600/Lepton%2BFLIR%2Bterminal%2B1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="183" src="https://4.bp.blogspot.com/-Y6Wh3P5iWIY/VStES_jlIvI/AAAAAAAAAwo/93vfosqwm9s/s1600/Lepton%2BFLIR%2Bterminal%2B1.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-ipPdv-sEVm8/VStES4WcfxI/AAAAAAAAAww/fcxQEhpkSlE/s1600/Lepton%2BFLIR%2Bterminal%2B2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="182" src="https://3.bp.blogspot.com/-ipPdv-sEVm8/VStES4WcfxI/AAAAAAAAAww/fcxQEhpkSlE/s1600/Lepton%2BFLIR%2Bterminal%2B2.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-vKf04b6E5II/VStES-MYVOI/AAAAAAAAAws/h-0Qssz805A/s1600/Lepton%2BFLIR%2Bterminal%2B3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="182" src="https://4.bp.blogspot.com/-vKf04b6E5II/VStES-MYVOI/AAAAAAAAAws/h-0Qssz805A/s1600/Lepton%2BFLIR%2Bterminal%2B3.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-mEesj92Vl_g/VStETpW8r6I/AAAAAAAAAw4/9yWnidpDlro/s1600/Lepton%2BFLIR%2Bterminal%2B4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="182" src="https://1.bp.blogspot.com/-mEesj92Vl_g/VStETpW8r6I/AAAAAAAAAw4/9yWnidpDlro/s1600/Lepton%2BFLIR%2Bterminal%2B4.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-HTNwvEwmj5Y/VStEThSxn8I/AAAAAAAAAw0/qWK9wiHa5c8/s1600/Lepton%2BFLIR%2Bterminal%2B5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="182" src="https://3.bp.blogspot.com/-HTNwvEwmj5Y/VStEThSxn8I/AAAAAAAAAw0/qWK9wiHa5c8/s1600/Lepton%2BFLIR%2Bterminal%2B5.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-F4TzQ0J86yc/VStEUB-VbMI/AAAAAAAAAxA/mmojMxwUA2Y/s1600/Lepton%2BFLIR%2Bterminal%2B6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="183" src="https://2.bp.blogspot.com/-F4TzQ0J86yc/VStEUB-VbMI/AAAAAAAAAxA/mmojMxwUA2Y/s1600/Lepton%2BFLIR%2Bterminal%2B6.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-pAMgfV5MIYg/VStEUXTingI/AAAAAAAAAxc/qCTRH-TMFdA/s1600/Lepton%2BFLIR%2Bterminal%2B7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="183" src="https://3.bp.blogspot.com/-pAMgfV5MIYg/VStEUXTingI/AAAAAAAAAxc/qCTRH-TMFdA/s1600/Lepton%2BFLIR%2Bterminal%2B7.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-UYFVDKykKcQ/VStEUmrC3SI/AAAAAAAAAxI/60hMnlwi0_o/s1600/Lepton%2BFLIR%2Bterminal%2B8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="182" src="https://2.bp.blogspot.com/-UYFVDKykKcQ/VStEUmrC3SI/AAAAAAAAAxI/60hMnlwi0_o/s1600/Lepton%2BFLIR%2Bterminal%2B8.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-pQAqiKRjjPU/VStEU0hyo-I/AAAAAAAAAxM/H-p3B6KGID4/s1600/Lepton%2BFLIR%2Bterminal%2B9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="183" src="https://4.bp.blogspot.com/-pQAqiKRjjPU/VStEU0hyo-I/AAAAAAAAAxM/H-p3B6KGID4/s1600/Lepton%2BFLIR%2Bterminal%2B9.png" width="320" /></a></div>
MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-48351443193689765062014-11-24T15:14:00.000+02:002018-03-13T02:06:46.100+02:00BeagleBone Black bridge from USB0 device to eMMC and uSD.On internet, even on TI forum the people asks how to access (read, write, modify & restore ) data from eMMC on BeagleBone Black.<br />
I create two applications that can run from uSD, this applications bridge the USB device MSC to one of two interfaces MMCSD0 (uSD) or MMCSD1 (onboard eMMC).<br />
<br />
The application which bridge the USB0 to uSD will help the developers to modify the app files from uSD without pulling the uSD from BBB.<br />
<br />
This two applications has not a fast data transfer but help the developers to restore read modify data on this two interfaces.<br />
<br />
From <a href="https://morgothdisk.com/downloads/MLO_BBB.zip" target="_blank">here</a> you can download the MLO (second stage bootloader) for BeagleBone and BeagleBone Black.<br />
From <a href="https://morgothdisk.com/downloads/app_bridge%20usb0_dev_msc_to_uSD_on_mmcsd0.zip" target="_blank">here</a> you can download the application that bridge USB0 to MMCSD0 (uSD) about 4MB/ read and from 130 to 400KB/s write depending to the uSD card, this application works on BeagleBone and BeagleBone Black.<br />
From <a href="https://morgothdisk.com/downloads/app_bridge%20usb0_dev_msc_to_eMMC_on_mmcsd1.zip" target="_blank">here</a> you can download the application that bridge USB0 to MMCSD1 (eMMC) about 10-11MB/s read and 700KB/s write, this application works on BeagleBone if you connect a eMMC or a SD/uSD/MMC card on a expansion board on MMCSD1 pins, the eMMC can work in 1-4 or 8 bit data bus, but if you use the code on BeagleBone without connect a eMMC circuitry the application don't hangup.<br />
<br />
For people that want to restore BBB original firmware, from <a href="https://morgothdisk.com/downloads/BBB_image.rar" target="_blank">here</a> can download the image of eMMC. <br />
<br />
Entire project can be cloned from <a href="https://github.com/MorgothCreator/mSdk" target="_blank">here</a>. MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-38422481206021387642014-11-21T21:16:00.001+02:002020-05-03T20:17:14.231+03:00Audio Spectrum Analyzer V5 32x16 Truecolor Matrix DisplayThis Audio spectrum analyzer is a 32 frequency band with 16 levels each
band, is a high quality real time FFT product, is a V5 class product and
at this moment is in development.<br />
Will be capable to process real
time FFT audio signal and display the frequencies in different way, from
a simple spectrum analysis displaying 32 frequencies with 16 levels
each, to visual effects like plasma with full color ( minimum 4096
colors ).<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/6uwn0lZ4Moo?list=UUEtewQYKboMWXrsEPBGHOXA" width="560"></iframe>MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-49815588849534328122014-11-07T19:57:00.000+02:002018-03-13T03:26:25.420+02:00MLO boot loader for BeagleBone and BeagleBone BlackThis bootloader was compiled for both BeagleBone and BeagleBone Black, the bootloader read the EEPROM data to distinguish if run on BB or BBB.<br />
<br />
This can be download from <a href="https://morgothdisk.com/downloads/MLO_BB_BBB.zip" target="_blank">here</a><br />
<br />MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-9804735704936771302012-11-09T14:27:00.003+02:002018-03-13T02:15:43.903+02:00Fast Bootloader for BragleBone and AM335xI made a third level bootloader, that can load user standalone applications more quickly than StarterWare bootloader.<br />
Can be adapted to work with all boards with AM335x TI microcontroller. <br />
The bootloader can load applications with approximately 4.5MB/s depending to the size of fat cluster, the speed of uSD memory card (if a cluster of uSD filesystem is 16KB the speed is higher than one uSD card with 8KB cluster).<br />
This bootloader is made to be loaded at address 0x87F80000(at end of beaglebone RAM memory), If you want to load this bootloader on another location please don't hesitate to write me.<br />
Your application will be named APP.BIN to be loaded by this bootloader.<br />
<br />
From <a href="https://morgothdisk.com/downloads/app.zip" target="_blank">here</a> you can download the bootloader.<br />
From <a href="https://morgothdisk.com/downloads/TI_SDCard_boot_utility_v1_0.exe" target="_blank">here</a> you can download the TI SDCard boot utility.MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com2tag:blogger.com,1999:blog-1930368717405026694.post-2099827718762439202012-11-08T00:24:00.000+02:002018-03-13T02:16:53.761+02:00AM335x SDK modified from StarterWareAfter I bought a <a href="http://beagleboard.org/bone" target="_blank">BeagleBone</a> rev A6 boart and BeagleboneExpansion V2 CAP with a 800x480 display with capacitive touchscreen, I started to work with <a href="http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/starterware/02_00_00_07/index_FDS.html" target="_blank">StarterWare</a> available from <a href="http://www.ti.com/" target="_blank">TI</a>.<br />
<br />
On this SDK I try to create API's that will be very simple to use, like C#. <br />
<br />
I try to arrange the drivers and API's and I added and translated some open source libraries.<br />
The first result is a mix from AM335X_StarterWare_02_00_00_06 and AM335X_StarterWare_02_00_00_07.<br />
<br />
On every version I will include a project that will show you how to use the SDK. <br />
<br />
This SDK include the next files:<br />
<br />
<ul>
<li>API's</li>
</ul>
<ol>
<li>Delay API.</li>
<li>Gfx API.</li>
<li>GPIO API.</li>
<li>Interrupt API.</li>
<li>LWIP API.</li>
<li>MMCSD API.</li>
<li>MMU API.</li>
<li>PMIC API.</li>
<li>RTC API.</li>
<li>Capacitive touchscreen API(can read all five points).</li>
<li>Resistive touchscreen API.</li>
<li>TWI API.</li>
<li>Uart API. </li>
<li>USB API.</li>
<li>USB mouse host API.</li>
<li>USB MSC API.</li>
</ol>
<ul>
<li> Applications</li>
</ul>
<ol>
<li>Simple HTTP application(is a demo, respond only to "GET" command).</li>
</ol>
<ul>
<li> Devices</li>
</ul>
<ol>
<li>24C TWI device driver.</li>
<li>ADXL345 device driver.</li>
</ol>
<ul>
<li>Library</li>
</ul>
<ol>
<li>Bitmap decode library.</li>
<li>PNG decode library.</li>
<li>Jpeg decode library.</li>
<li>MPEG1/2 decode library.</li>
<li>Button library.</li>
<li>Check Box library.</li>
<li>Virtual Keyboard library.</li>
<li>List Box library.</li>
<li>Picture Box library.</li>
<li>Progress Bar library.</li>
<li>Scroll Bar library.</li>
<li>Text Box library.</li>
</ol>
<ul>
<li>System</li>
</ul>
<ol>
<li>Cache.</li>
<li>Dmtimer.</li>
<li>Core Iit.</li>
<li>CP15.</li>
<li>Pin mux adc.</li>
<li>Pin mux LCD.</li>
<li>Pin mux MII.</li>
<li>Pin mux MMCSD.</li>
<li>Pin mux SPI.</li>
<li>Pin mux TWI.</li>
<li>Pin mux Uart.</li>
<li>Sys timer(you can create infinite timers with precision approximate to reference timer7).</li>
<li>Sys delay.</li>
<li>Watchdog. </li>
</ol>
This version has one issue:<br />
<br />
When is loaded from bootloader the USB host can't be enabled (will freeze when the USB controller is setup), to set up the USB host is necessary to hardware reset or power up the board without uSD card inserted, after a watchdog reset has the same issue.<br />
I already posted the issue on <a href="http://www.ti.com/" target="_blank">TI.</a><br />
<br />
Download source code and bin files from <a href="https://morgothdisk.com/downloads/SDK_and_BIN_files_V1.1.rar" target="_blank">here</a>. <br />
<br />
Download SD card format utility from <a href="https://morgothdisk.com/downloads/TI_SDCard_boot_utility_v1_0.exe" target="_blank">here</a>. <br />
<br />
Load the app and MLO file with SD boot card utility from archive, after this copy the APP.BIN file to uSD card.MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com5tag:blogger.com,1999:blog-1930368717405026694.post-53906735362391326712012-05-06T13:10:00.000+03:002020-05-03T20:19:00.901+03:00Xmega A1 Media Player development board<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
Features of this development board:<br />
<ol>
<li>Main controller ATxmega64A1/ATxmega128A1/ATxmega64A1u/ATxmega128A1u.</li>
<li>On-board External 512KB SRAM memory ( AS6C4008 ).</li>
<li>One or two onboard 24c EEPROM ICS up to 2Mb, or 23K serial RAM memory, or combined.</li>
<li>One or two onboard uSD memory card sockets, with led to indicate activity of each uSD memory card.</li>
<li>On-board usart to USB converter ( FT232RQ), with RX/TX activity led.</li>
<li>On-board dedicated battery charger controller via USB connector ( MCP73871 ).</li>
<li>On-board dedicated resistive touch screen controller ( AR1020 ).</li>
<li>On-board dedicated RTC/64Bytes SRAM/128Bytes EEPROM circuit with backup high capacity capacitor ( MCP79410 ). </li>
<li>On-board Ogg Vorbis/MP3/AAC/WMA/MIDI codec ( VS1053b ) with jack 3.5mm audio output ,3 pin connector audio input and connector for button style Microphone, with led activity monitor on xDCS, xCS and and DREQ pins.</li>
<li>320x240 TFT high quality display 8Bit bus mode ( MI0283QT-2 ) connected to external SRAM bus to increase speed of transaction using DMA working with him like a external SRAM.</li>
<li>One 30 pin extension peripheral connector with bidirectional 8bit data bus, unidirectional 8Bit A0-A7 address bus,7 chip select signals, RW and RD signals and one IRQ line.</li>
<li>On-board bus extension decoder to allow up to seven external peripherals directly accessed via external RAM bus ( 74LV138 ) and up to 256*7 external peripherals with external addresses decoders. </li>
<li>One lateral push button user defined(like PWR/Back).</li>
<li>One lateral push button reset function.</li>
<li>PDI programing connector.</li>
<li>JTAG debugging connector.</li>
<li>3V VLDO power regulator for all circuits, to power this board from LI-IO battery on entire range of voltage ( 3.2 to 4.2V and 5V from USB connector).</li>
<li>1.8V VLDO power regulator to power digital section on VS1053b circuit. </li>
<li>On-board NOKIA or HUAVEI battery connector.</li>
<li>Three pin connector to connect an external battery.</li>
<li>29 IO pins accessed via two lateral 26 pin connectors ( entire B and C port, pin port A2-A7 and D1-D7 ).</li>
<li>Resistive divider to monitor the battery voltage.</li>
</ol>
Down I posted several photos of board generated by a 3D software:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-ou0K3MGdtVI/UIR0gbZMimI/AAAAAAAAAms/gwlSIcvaYBM/s1600/1+Media+Player+Xmega.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://4.bp.blogspot.com/-ou0K3MGdtVI/UIR0gbZMimI/AAAAAAAAAms/gwlSIcvaYBM/s400/1+Media+Player+Xmega.png" width="252" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-BMS1JVSENTc/UIR024VzEXI/AAAAAAAAAm0/uTcYNzjQDMM/s1600/2+Media+Player+Xmega.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://3.bp.blogspot.com/-BMS1JVSENTc/UIR024VzEXI/AAAAAAAAAm0/uTcYNzjQDMM/s400/2+Media+Player+Xmega.png" width="252" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-BQ0OrWFXqqQ/UIR1CL63OjI/AAAAAAAAAm8/ubK-5q5AhMw/s1600/3+Media+Player+Xmega.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://3.bp.blogspot.com/-BQ0OrWFXqqQ/UIR1CL63OjI/AAAAAAAAAm8/ubK-5q5AhMw/s400/3+Media+Player+Xmega.png" width="252" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-YiobduXOR40/UIR1nndaCDI/AAAAAAAAAnE/uyh18R7QifA/s1600/4+Media+Player+Xmega.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://1.bp.blogspot.com/-YiobduXOR40/UIR1nndaCDI/AAAAAAAAAnE/uyh18R7QifA/s400/4+Media+Player+Xmega.png" width="252" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-WSbrrVFaVOo/UIR2WNyoRhI/AAAAAAAAAnM/ihgrFcxvV7I/s1600/5+Media+Player+Xmega.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://2.bp.blogspot.com/-WSbrrVFaVOo/UIR2WNyoRhI/AAAAAAAAAnM/ihgrFcxvV7I/s400/5+Media+Player+Xmega.png" width="252" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-2EUSxyVqMcg/UIR24QbnvMI/AAAAAAAAAnU/ClHj1zGFxwQ/s1600/6+Media+Player+Xmega.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://1.bp.blogspot.com/-2EUSxyVqMcg/UIR24QbnvMI/AAAAAAAAAnU/ClHj1zGFxwQ/s400/6+Media+Player+Xmega.png" width="252" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-SFcPBKfE8Z8/UIR3EKZjS_I/AAAAAAAAAnc/VupGGy4kOqw/s1600/7+Media+Player+Xmega.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://3.bp.blogspot.com/-SFcPBKfE8Z8/UIR3EKZjS_I/AAAAAAAAAnc/VupGGy4kOqw/s400/7+Media+Player+Xmega.png" width="252" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-c7n-Pzah1hA/UIR3dqZgE7I/AAAAAAAAAnk/2YiCGxk3PWs/s1600/8+Media+Player+Xmega.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://3.bp.blogspot.com/-c7n-Pzah1hA/UIR3dqZgE7I/AAAAAAAAAnk/2YiCGxk3PWs/s400/8+Media+Player+Xmega.png" width="252" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-s9o5RPOFd_E/UIR33ZVxbcI/AAAAAAAAAns/zX9GmarEaeM/s1600/Media+Player+Xmega.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-s9o5RPOFd_E/UIR33ZVxbcI/AAAAAAAAAns/zX9GmarEaeM/s320/Media+Player+Xmega.gif" width="202" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
In future for this board will be developed extra peripherals like:<br />
<ul>
<li>ATA high capacity hard disk shield.</li>
<li>Secondary displays shield.</li>
<li>Ethernet interface shield.</li>
<li>Nand flash memory shield.</li>
<li>Video sensor shield.</li>
<li>Magnetometer shield.</li>
<li>Gyroscope shield.</li>
<li>Dedicated ADC shield to make oscilloscope.</li>
<li>Video out encoder shield.</li>
<li>Wireless communication shield. </li>
<li>GSM communication shield.</li>
<li>IR communication shield.</li>
<li>Bluetooth communication shield.</li>
<li>GPS shield.</li>
<li>Motor stepper shield.</li>
<li>Xbee shield.</li>
</ul>
And others. <br />
<br />
This board will be delivered with a demo MP3 player project source code and a framework with library's and drivers special developed for this board.MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-33395296499415308162012-02-07T21:01:00.003+02:002012-04-21T23:06:40.008+03:00How to setup avr studio 5 and 6 to use static libraryI search entire internet for a explanation of error "undefined reference to" functions inside static library, but no explicit solution found.<br />
<br />
For users that he cannot resolve this issue I will post two photos, how to set up the project to import functions from static libraries.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-3_ZWoMmHRgk/TzFxQYqSpBI/AAAAAAAAAgA/42MA5buZb-w/s1600/How+to+set+avr+studio+5+to+use+use+static+library+photo2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="132" src="http://1.bp.blogspot.com/-3_ZWoMmHRgk/TzFxQYqSpBI/AAAAAAAAAgA/42MA5buZb-w/s400/How+to+set+avr+studio+5+to+use+use+static+library+photo2.PNG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-xJePUoFeego/TzFxQ9GCOqI/AAAAAAAAAgI/SAWDS-jlZSQ/s1600/How+to+set+avr+studio+5+to+use+use+static+library+photo1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="131" src="http://4.bp.blogspot.com/-xJePUoFeego/TzFxQ9GCOqI/AAAAAAAAAgI/SAWDS-jlZSQ/s400/How+to+set+avr+studio+5+to+use+use+static+library+photo1.PNG" width="400" /></a></div>
<br />
In this case the .h files is inside the "Directories" (photo2) and the .a files inside the "Debug" folder of each static library project(how is shown on bottom of first photo).<br />
<br />
When you compile a static library the compiler generates a file named "libProjectName.a" on "Debug" folder, on top of first photo is shown how can be included the .a libraries, to include .a libraries is necessary to write the .a file name without "lib" and without ".a"inside a <span class="short_text" id="result_box" lang="en"><span class="hps">quote ("").</span></span><br />
<span class="short_text" id="result_box" lang="en"><span class="hps">With this setup you can include and use static library.</span></span>MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com3tag:blogger.com,1999:blog-1930368717405026694.post-25782445079128182102012-02-05T17:59:00.002+02:002012-02-05T17:59:31.747+02:00Say NO to ACTA<object height="315" width="560"><param name="movie" value="http://www.youtube.com/v/citzRjwk-sQ?version=3&hl=en_US&rel=0">
</param>
<param name="allowFullScreen" value="true">
</param>
<param name="allowscriptaccess" value="always">
</param>
<embed src="http://www.youtube.com/v/citzRjwk-sQ?version=3&hl=en_US&rel=0" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-27858092737771862362012-01-24T21:58:00.002+02:002020-05-03T20:19:50.163+03:00Stereo digital audio spectrum analyzer V4.0<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
This is a stereo upgrade of previous version 3.x.<br />
<br />
This version has multiple changes from the previous version, like:<br />
<br />
<b style="color: #e06666;"><span style="font-size: x-large;">V 4.0A</span></b> is a version with 18 Bands + Two VU meters for right and left channels.<br />
<ol>
<li>Can handle stereo signals.</li>
<li>Display format is 18+1+1( to display 18 bands of frequencies and Left Right signal level) .</li>
<li>USB adapter for easy upgrade.</li>
<li>Dedicated RTC with battery back-up.</li>
<li>Added two usart connectors to create cascade spectrum analyzers( to create large display from boards like this ).</li>
<li>A microcontroller twice faster that previous and multiple hardware advantages that increase speed of signal processing and display rendering.</li>
</ol>
Down I posted two photos with new board design.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-rHWVpivbrGA/Tx8NCWAzksI/AAAAAAAAAfU/5eRTdVylm2s/s1600/DigitalSpectrumAnalyzerV4_Top.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="118" src="https://2.bp.blogspot.com/-rHWVpivbrGA/Tx8NCWAzksI/AAAAAAAAAfU/5eRTdVylm2s/s400/DigitalSpectrumAnalyzerV4_Top.JPG" width="400" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-3OSsHgKVG2w/Tx8KL204h1I/AAAAAAAAAfI/aXUstDVFQbE/s1600/DigitalSpectrumAnalyzerV4_Bot.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="121" src="https://2.bp.blogspot.com/-3OSsHgKVG2w/Tx8KL204h1I/AAAAAAAAAfI/aXUstDVFQbE/s400/DigitalSpectrumAnalyzerV4_Bot.JPG" width="400" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><span style="font-size: x-large;"><span style="color: #e06666;">V 4.0B</span></span></b> is a version with 20Bands.</div>
<div class="separator" style="clear: both; text-align: left;">
A 3D presentation of Audio Spectrum Analyzer 4.0B:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-h_8uzKGdC80/UINyeXpbe_I/AAAAAAAAAig/LhUMI1je4EQ/s1600/1+Audio+Spectrometrum+Analyzer.png" imageanchor="1"><img border="0" height="150" src="https://4.bp.blogspot.com/-h_8uzKGdC80/UINyeXpbe_I/AAAAAAAAAig/LhUMI1je4EQ/s400/1+Audio+Spectrometrum+Analyzer.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-_JO806XBQBs/UINyniiUW8I/AAAAAAAAAio/g73Q2KaGahw/s1600/2+Audio+Spectrometrum+Analyzer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://3.bp.blogspot.com/-_JO806XBQBs/UINyniiUW8I/AAAAAAAAAio/g73Q2KaGahw/s400/2+Audio+Spectrometrum+Analyzer.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-mpSTOSSWAzo/UINyqhhcz8I/AAAAAAAAAiw/coTAi_GqiSM/s1600/3+Audio+Spectrometrum+Analyzer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://3.bp.blogspot.com/-mpSTOSSWAzo/UINyqhhcz8I/AAAAAAAAAiw/coTAi_GqiSM/s400/3+Audio+Spectrometrum+Analyzer.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-Kme9vg_F2eI/UINy3t9NvLI/AAAAAAAAAi4/zr0i3q4GMCw/s1600/4+Audio+Spectrometrum+Analyzer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://3.bp.blogspot.com/-Kme9vg_F2eI/UINy3t9NvLI/AAAAAAAAAi4/zr0i3q4GMCw/s400/4+Audio+Spectrometrum+Analyzer.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-8fVOW14bR7o/UINzHAvytLI/AAAAAAAAAjA/-xdSc5rZbgs/s1600/5+Audio+Spectrometrum+Analyzer.png" imageanchor="1"><img border="0" height="150" src="https://4.bp.blogspot.com/-8fVOW14bR7o/UINzHAvytLI/AAAAAAAAAjA/-xdSc5rZbgs/s400/5+Audio+Spectrometrum+Analyzer.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-FNCERDi15e4/UINzTxTX20I/AAAAAAAAAjI/2xKIw1Drfjs/s1600/6+Audio+Spectrometrum+Analyzer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://3.bp.blogspot.com/-FNCERDi15e4/UINzTxTX20I/AAAAAAAAAjI/2xKIw1Drfjs/s400/6+Audio+Spectrometrum+Analyzer.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-mDZHvNgBn-o/UINzXJBsmuI/AAAAAAAAAjQ/xhj0b2U4aps/s1600/7+Audio+Spectrometrum+Analyzer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="151" src="https://1.bp.blogspot.com/-mDZHvNgBn-o/UINzXJBsmuI/AAAAAAAAAjQ/xhj0b2U4aps/s400/7+Audio+Spectrometrum+Analyzer.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-XaOcxKZLXdQ/UINzgdDwQSI/AAAAAAAAAjY/rYJiqC20zLA/s1600/8+Audio+Spectrometrum+Analyzer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://3.bp.blogspot.com/-XaOcxKZLXdQ/UINzgdDwQSI/AAAAAAAAAjY/rYJiqC20zLA/s400/8+Audio+Spectrometrum+Analyzer.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-9SUCelMxfjc/UIOSjikw1oI/AAAAAAAAAlE/n6kK7gVmS0s/s1600/AudioSpectrometru_V4.0B_3D.gif" imageanchor="1"><img border="0" height="150" src="https://1.bp.blogspot.com/-9SUCelMxfjc/UIOSjikw1oI/AAAAAAAAAlE/n6kK7gVmS0s/s400/AudioSpectrometru_V4.0B_3D.gif" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com9tag:blogger.com,1999:blog-1930368717405026694.post-41386718966793714062011-09-11T13:42:00.008+03:002018-03-13T02:19:22.001+02:00MikroMMB for Xmega MP3 PlayerThis project is created in AVR GCC with 100% my own drivers and libraries , this player can play MP3, WMA and OGG files from micro SD/SDHC memory card fat16/32 formatted.<br />
<div>
<br /></div>
<div>
<span class="Apple-style-span" style="color: red; font-size: x-large;"><b>V1.3</b></span><br />
<br />
On this firmware I made some bug fixes and I adding some functions to player:<br />
<br />
Bug fixes:<br />
<br />
<ol>
<li>The previous versions has a bug that forces user to put on first location of root directory the volume ID or a file or folder with the short name only.</li>
</ol>
<div>
Function's added:</div>
<div>
<ol>
<li>A progress bar to track the melody, with the same progress bar the user can force the audio player to play file from a specified point.</li>
<li>Player can run now like a thread "Open player" "Close Player" when card is inserted is automatically opened the player, when SD card is removed all resources used by Audio Player will be freed.</li>
<li>Now you can play music from SD/SDHC card's formatted in FAT16 or FAT32(The FAT16 has a little bug, on root directory is displayed only files and directory's from first Page(512Bytes).</li>
</ol>
<div>
On this version you can play: MP3, AAC, OGG, WAV and WMA.<br />
<br /></div>
<div>
<a href="https://morgothdisk.com/downloads/MikroMedia_Media_PlayerV1.3.rar" target="_blank">Download V1.3 demo version of this player.</a></div>
</div>
<br />
<br />
<span class="Apple-style-span" style="color: red; font-size: x-large;"><b>V1.2</b></span><br />
<br />
On this version I made some changes:<br />
<br />
<ol>
<li>I change the navigation from the "next" "previous" button to a list box.</li>
<li>On this version is not capable to display bitmap's because I want to design another interface to view bitmap photo. </li>
<li>The VS chip data is send by a service that work inside the RTC interrupt service, in this case has a high priority to send data to VS chip.</li>
</ol>
<br />
<object height="360" width="480"><param name="movie" value="https://www.youtube.com/v/NKBscQ37nMU?version=3&hl=en_US&rel=0">
</param>
<param name="allowFullScreen" value="true">
</param>
<param name="allowscriptaccess" value="always">
</param>
<embed src="https://www.youtube.com/v/NKBscQ37nMU?version=3&hl=en_US&rel=0" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object>
<br />
<br />
<br />
<a href="https://morgothdisk.com/downloads/MikroMedia_Media_PlayerV1.2.rar" target="_blank">Download V1.2 demo version of this player.</a></div>
<div>
<br /></div>
<div>
<span class="Apple-style-span" style="color: red; font-size: x-large;"><b>V1.1</b></span></div>
<div>
<br /></div>
<div>
On this version I made huge improvements.</div>
<div>
<br /></div>
<div>
<ol>
<li>Now you can navigate through the directories when you listen music, you can choose another melody when you listen another melody.</li>
<li>The player has change the listen melody with the next from the current directory, the payback is stopped after the last melody is played.</li>
<li>Now you can see bitmaps images in 8, 24 and 32 bit/pixel with some limitations, maximum size 240x200pixels, the maximum file size 140KB (140000bytes), the 240x200 pixels limitation is implemented to no interference with the player interface, the 140KB limitation is made because I have a bug in the bitmap library, that can't read files bigger than this value.</li>
</ol>
<div>
This version is limited to play only MP3 files, the core clock is 32Mhz.</div>
<div>
<br />
<br />
<br />
<object height="390" width="480"><param name="movie" value="https://www.youtube.com/v/2WJSdD_50So?version=3&hl=en_US&rel=0">
<param name="allowFullScreen" value="true">
<param name="allowscriptaccess" value="always">
<embed src="https://www.youtube.com/v/2WJSdD_50So?version=3&hl=en_US&rel=0" type="application/x-shockwave-flash" width="480" height="390" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<br />
<br /></div>
<div>
<a href="https://morgothdisk.com/downloads/MikroMedia_Media_PlayerV1.1.rar" target="_blank">Download V1.1 demo version of this player.</a></div>
</div>
<div>
<br /></div>
<div>
<b><span class="Apple-style-span" style="color: red; font-size: x-large; font-weight: normal;"><b>V1.0</b></span></b></div>
<div>
<br /></div>
<div>
The controller is running at 16Mhz.</div>
<div>
<br /></div>
<div>
On this version can't manage the power consumption.</div>
<div>
<br /></div>
<div>
This version can play MP3, WMA and OGG.</div>
<div>
<br /></div>
<div>
<br />
<br />
<object height="390" width="480"><param name="movie" value="https://www.youtube.com/v/XFdk6vVVcMQ?version=3&hl=en_US">
<param name="allowFullScreen" value="true">
<param name="allowscriptaccess" value="always">
<embed src="https://www.youtube.com/v/XFdk6vVVcMQ?version=3&hl=en_US" type="application/x-shockwave-flash" width="480" height="390" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<br /></div>
<div>
<br /></div>
<div>
<a href="https://morgothdisk.com/downloads/MikroMedia_Media_PlayerV1.0.rar" target="_blank">Download V1.0</a></div>
MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com2tag:blogger.com,1999:blog-1930368717405026694.post-7997692735734949072011-08-16T20:34:00.009+03:002018-03-13T03:29:40.521+02:00Mikro Media for Xmega simple Lcd Touch Paint<div style="text-align: center;">
<br /></div>
<div>
This is made with 100% my library's developed in AVR GCC because free source code for LCD display and touch screen can't be found on internet.</div>
<div>
<br /></div>
<div>
When you power up the board with this firmware, the board enter to touch screen calibrate, in four points, after the last point is touched the display is painted with white back ground and you can scribe through touch screen with chosen color touching the colors rectangles from right up of display. </div>
<div>
Chosen color will appear like a rectangle painted with the same chosen color on right down of display. </div>
<div>
If you want to clear the display, touch the black rectangle from right down of screen. </div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<b><span class="Apple-style-span" style="background-color: rgb(255 , 255 , 255); font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 29px; font-weight: normal; line-height: 40px;"><b><span class="Apple-style-span" style="color: rgb(0 , 0 , 0); font-weight: normal;"><b><span class="Apple-style-span" style="color: rgb(255 , 0 , 0);">V1.1</span></b></span></b></span></b></div>
<div>
<b><span class="Apple-style-span">
</span></b></div>
<div>
In this firmware I add function to choose ink color and to clear display.</div>
<div>
<br /></div>
<div>
<div>
<span class="Apple-style-span" style="-webkit-text-decorations-in-effect: underline; color: rgb(0 , 0 , 238);"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5645123162886111506" src="https://1.bp.blogspot.com/-dtmuWXgKDIE/TleBm4UoARI/AAAAAAAAAeI/VzmoJmQAiAo/s320/DSCF1933.JPG" style="cursor: pointer; display: block; height: 240px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 320px;" /></span></div>
</div>
<div>
<br /></div>
<div>
On this version is eliminated the previous described bug.</div>
<div>
<br /></div>
<div>
<a href="https://morgothdisk.com/downloads/MikroMediaBoard_TouchPaint_AvrGcc_1.1.rar">Download demo firmware V1.1.</a></div>
<div>
<div>
<b><span class="Apple-style-span">
</span></b></div>
<div>
<b><span class="Apple-style-span" style="background-color: rgb(255 , 255 , 255); font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 29px; font-weight: normal; line-height: 40px;"><b><span class="Apple-style-span" style="color: rgb(0 , 0 , 0); font-weight: normal;"><b><span class="Apple-style-span" style="color: rgb(255 , 0 , 0);">V1.0</span></b></span></b></span></b></div>
</div>
<div>
<b><span class="Apple-style-span">
</span></b></div>
<a href="http://3.bp.blogspot.com/-5jXhE1tVpH0/TkqsHo2g6zI/AAAAAAAAAd8/SvJdRjy5XnU/s1600/MikroMediaCimpleTouchPaint.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5641510730460097330" src="https://3.bp.blogspot.com/-5jXhE1tVpH0/TkqsHo2g6zI/AAAAAAAAAd8/SvJdRjy5XnU/s320/MikroMediaCimpleTouchPaint.JPG" style="cursor: hand; cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />
<div>
<div style="text-align: center;">
<span class="Apple-style-span"><u>
</u></span></div>
<div>
<div>
On the 1.0 firmware version is a bug caused by the capacitors connected in parallel with Q5 and Q9 that is not filtered by the firmware, but for the current work is not a critical bug :D.</div>
<div>
<span class="Apple-style-span" style="-webkit-text-decorations-in-effect: underline; color: rgb(0 , 0 , 238);"></span></div>
<div style="text-align: center;">
<span class="Apple-style-span" style="-webkit-text-decorations-in-effect: underline; color: rgb(0 , 0 , 238);">
</span></div>
<div>
<a href="https://morgothdisk.com/downloads/MikroMediaBoard_TouchPaint_AvrGcc_1.0.rar">Download demo firmware V1.0.</a></div>
</div>
</div>
MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-60702205510674979432011-08-16T16:38:00.010+03:002018-03-13T02:21:45.050+02:00ATxmega boot loaderCurrently I bought a Micromedia Board ( microMMB for XMEGA ) from <a href="http://www.mikroe.com/eng/products/view/688/mikromedia-for-xmega/">mikroEelektronika</a>.<br />
<div>
<br /></div>
<div>
This board is perfect for general developing because can be used by programmers that don't have a programmer, because is coming with a bootloader pre-installed.</div>
<div>
I mentioned only the bootloader because this bootloader is the problem</div>
<div>
To upload a flash with 64KB size is taken about 10-15 minutes, or to develop a firmware is a very very long time to wait, visualizing this I developed a very fast bootloader to write only Flash and EEProm memory, only strictly necessary memories because all of other ATxmega features can be set from uploaded firmware.</div>
<div>
<br /></div>
<div>
In this stage I compiled eight bootloader firmwares only for ATxmega128A1 for each used hardware usart, and each firmware work with a 256000 baud transfer rate, this baud rate is set like default baud rate for the up-loader when is opened, I want to mention that the up-loader can work with atmega bootloader firmwares found <a href="http://digitalelectronicsandprograming.blogspot.com/2010/05/micro-hex-bootloader-for-atmega.html">here</a>.</div>
<div>
<br /></div>
<div>
<b><span class="Apple-style-span">Version 1.0 of firmwares:</span></b></div>
<div>
<br /></div>
<div>
<a href="https://morgothdisk.com/downloads/Xmega128A1_BootLoader_Usart0_256000Baud_V1.0.rar" target="_blank">For usart 0 ( usart C0 ).</a></div>
<div>
<a href="https://morgothdisk.com/downloads/Xmega128A1_BootLoader_Usart1_256000Baud_V1.0.rar" target="_blank">For usart 1 ( usart C1 ).</a></div>
<div>
<a href="https://morgothdisk.com/downloads/Xmega128A1_BootLoader_Usart2_256000Baud_V1.0.rar" target="_blank">For usart 2 ( usart D0 ).</a></div>
<div>
<a href="https://morgothdisk.com/downloads/Xmega128A1_BootLoader_Usart3_256000Baud_V1.0.rar" target="_blank">For usart 3 ( usart D1 ).</a></div>
<div>
<a href="https://morgothdisk.com/downloads/Xmega128A1_BootLoader_Usart4_256000Baud_V1.0.rar" target="_blank">For usart 4 ( usart E0 ).</a></div>
<div>
<a href="https://morgothdisk.com/downloads/Xmega128A1_BootLoader_Usart5_256000Baud_V1.0.rar" target="_blank">For usart 5 ( usart E1 ).</a></div>
<div>
<a href="https://morgothdisk.com/downloads/Xmega128A1_BootLoader_Usart6_256000Baud_V1.0.rar" target="_blank">For usart 6 ( usart F0 ).</a> can be used for Micromedia Board for XMEGA.</div>
<div>
<a href="https://morgothdisk.com/downloads/Xmega128A1_BootLoader_Usart7_256000Baud_V1.0.rar" target="_blank">For usart 7 ( usart F1 ).</a></div>
<div>
<br /></div>
<div>
<a href="https://morgothdisk.com/downloads/HexBootLoaderV1.2.rar" target="_blank">Download PC uploader program.</a></div>
<div>
<br /></div>
MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-7864366014871259352011-05-17T16:25:00.008+03:002014-10-24T22:21:48.356+03:00Multipurpose development board with ATxmega64A1 / ATxmega128A1<span style="font-size: 100%;"><br /><a href="http://3.bp.blogspot.com/--7CKtKiIjlg/TdJ32URh1wI/AAAAAAAAAdE/ZLOsUTDWj00/s1600/MultipurposeDevelopmentBoardATxmegaA1_Top.JPG"><img alt="" border="0" src="http://3.bp.blogspot.com/--7CKtKiIjlg/TdJ32URh1wI/AAAAAAAAAdE/ZLOsUTDWj00/s320/MultipurposeDevelopmentBoardATxmegaA1_Top.JPG" id="BLOGGER_PHOTO_ID_5607676261068560130" style="cursor: hand; cursor: pointer; display: block; height: 178px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><span style="font-size: 100%;"><a href="http://2.bp.blogspot.com/-t6Fe_bB2woM/TdJ35xM6L5I/AAAAAAAAAdM/V53FH7DZEgw/s1600/MultipurposeDevelopmentBoardATxmegaA1_Bot.JPG"><img alt="" border="0" src="http://2.bp.blogspot.com/-t6Fe_bB2woM/TdJ35xM6L5I/AAAAAAAAAdM/V53FH7DZEgw/s320/MultipurposeDevelopmentBoardATxmegaA1_Bot.JPG" id="BLOGGER_PHOTO_ID_5607676320373419922" style="cursor: hand; cursor: pointer; display: block; height: 165px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a></span></span>Features:<span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;"></span></span><br />
<ol style="font-family: Arial, Helvetica, sans-serif;">
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Main processing unit ATxmega64A1 or ATxmega128A1.</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Audio decoder VS1011,1033,1053 with stereo jack 3.5mm female connector & external speakers 3 pin connector(optional).</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">DS1307 real time clock with battery pads.</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">PDI & JTAG connectors.</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">LB1936 dual driver for asynchronous motors (optional).</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">AD7414 temperature sensor for motor driver (optional).</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">External motors driver connector with I2C bus.</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Two micro SD connectors ( one is optional ).</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Four connectors with 2x3 pin to control eight servo motors, two servomotors for each connector, each connector is power interruption to minimize power consumption.</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Two power jack connector 5.5/2.1mm put in series to connect two photovoltaic panels and with static commutator controlled by software to charge main accumulator.</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">High power step down stabilizer from accumulator voltage to 3.3V.</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">On-board 512KB static ram for minimizing power consumption in sleep mode.</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">BTM-222 Bluetooth for communication with PC or mobile phones (optional).</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">RFM12BP at 434Mhz for communication with one remote control for huge distance up to 5Km (optional).</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">RFM12BS at 868Mhz to control other wireless modules (optional).</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">All modules from point 13, 14 & 15 can work at the same time without interferences.</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Five connectors with four pins with I2C bus and 3.3V power for future extensions.</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">External extension bus connector to connect future external modules to ATxmega parallel data bus, such as Displays, more motors controllers, image sensors etc.</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Possibility to monitor power consumption from main accumulator.</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Possibility to monitor generated power by the photovoltaic panels.</span></span></li>
<li style="font-family: Arial, Helvetica, sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Possibility to monitor voltage of the main accumulator.</span></span></li>
<li style="font-family: Arial,Helvetica,sans-serif;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Possibility to monitor power consumption of each motor powered by on-board driver.</span></span></li>
</ol>
<span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Applications:</span></span><br />
<ol>
<li><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Robots: contain on-board dual asynchronous motor driver and four connectors to control eight servomotors, powered from an Li-Ion accumulator and support to charge the accumulator from two photovoltaic cells or from an external source, several communication modules: Bluetooth Class1, EFM12BP for long distance communication up to 5Km and RFM12BS for low power and short distance communication up to 300m.</span></span></li>
<li><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Audio player: contain on-board VS1011, VS1033 or VS1053, single or dual micro-SD memory card connectors with push.</span></span></li>
<li><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Audio/Video(low quality) player.</span></span></li>
<li><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">General development application because has all possibility to connect with another controller or another peripherals to the expansion bus, the </span></span><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">expansion </span></span><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">connector work to speed of the external ram memory, because the expansion peripherals is mapped to address space 524288 to 1048576, maximum number of expansion peripherals is 65536.</span></span></li>
</ol>
<span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;"><br /></span></span>
<br />
<div face="Arial, Helvetica, sans-serif" style="margin-top: 0px;">
<span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Power supply input between 3.4V and 9.5V</span></span></div>
<div style="font-family: Arial, Helvetica, sans-serif; margin-top: 0px;">
<span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Maximum supported input voltage on photovoltaic connectors and the main accumulator: 9.5V, Maximum absolute 10.5V.</span></span></div>
<div style="font-family: Arial,Helvetica,sans-serif; margin-top: 0px;">
<span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;">Board dimension: 66.83 x 130.78mm.</span></span></div>
<div style="font-family: Arial,Helvetica,sans-serif; margin-top: 0px;">
<span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;"><br /></span></span></div>
<div style="font-family: Arial, Helvetica, sans-serif; margin-top: 0px;">
<span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="text-align: left;"><span style="color: #3366ff; font-size: 130%; font-weight: bold;">This board can be bought from <a href="http://devboardshop.com/en/16-robotic-development" target="_blank">http://devboardshop.com</a>.</span></span></span></div>
MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-19964429763094002142011-02-25T22:32:00.026+02:002018-03-13T02:23:05.156+02:00Intel HEX to binary HEX converterThis is an utility for programmers to convert Intel .hex files generated by AVR studio for example to binary hex data file, to create static or dynamic library like image of flash ROM and can be imported like data file to a project.<br />
<br />
<span class="Apple-style-span"><span class="Apple-style-span" style="font-size: 29px;"><b><span class="Apple-style-span" style="color: black; font-weight: normal;"><b><span class="Apple-style-span" style="color: red;">V1.0.5</span></b></span></b></span></span>In this version the files that is not modified ,is not recompiled, in this case if you work on memory stick <span class="" id="result_box" lang="en"><span class="hps" title="Faceti click pentru traducerea alternativa">not</span> <span class="hps" title="Faceti click pentru traducerea alternativa">take</span> <span class="hps" title="Faceti click pentru traducerea alternativa">the</span> <span class="hps" title="Faceti click pentru traducerea alternativa">number</span> <span class="hps" title="Faceti click pentru traducerea alternativa">of</span> <span class="hps" title="Faceti click pentru traducerea alternativa">writings</span> <span class="hps" title="Faceti click pentru traducerea alternativa">/</span> <span class="hps" title="Faceti click pentru traducerea alternativa">deletions</span> <span class="hps" title="Faceti click pentru traducerea alternativa">of</span> <span class="hps" title="Faceti click pentru traducerea alternativa">memory</span> <span class="hps" title="Faceti click pentru traducerea alternativa">stick for files that is not modified,</span></span> or if you work with many files <span class="" id="result_box" lang="en"><span class="hps" title="Faceti click pentru traducerea alternativa">will not</span> <span class="hps" title="Faceti click pentru traducerea alternativa">be</span> <span class="hps" title="Faceti click pentru traducerea alternativa">useless</span> <span class="hps" title="Faceti click pentru traducerea alternativa">to</span> <span class="hps" title="Faceti click pentru traducerea alternativa">compile</span> <span class="hps" title="Faceti click pentru traducerea alternativa">the files</span> <span class="hps" title="Faceti click pentru traducerea alternativa">were</span> <span class="hps" title="Faceti click pentru traducerea alternativa">not</span> <span class="hps" title="Faceti click pentru traducerea alternativa">changed</span></span><br />
This version can be downloaded from <a href="https://morgothdisk.com/downloads//IntelHexToBinHexConverterV1.0.5.rar" target="_blank">here</a>.<br />
<br />
<span class="Apple-style-span"><span class="Apple-style-span" style="font-size: 29px;"><b><span class="Apple-style-span" style="color: black; font-weight: normal;"><b><span class="Apple-style-span" style="color: red;">V1.0.4</span></b></span></b></span></span>In this version I added to automatically put the "#ifndef FileName" to include only one time a library if is declared on multiple files.<br />
This version can be downloaded from <a href="https://morgothdisk.com/downloads/IntelHexToBinHexConverterV1.0.4.rar" target="_blank">here</a>.<br />
<span class="Apple-style-span"><span class="Apple-style-span" style="font-size: 29px;"><b><span class="Apple-style-span" style="color: black; font-weight: normal;"><b><span class="Apple-style-span" style="color: red;"><br />V1.0.3</span></b></span></b></span></span><br />
<br />
Added:<br />
Now can include header file with definition constants in hex image file, in this case is no longer case to include hex image file and header file separately, you can include only hex image file, if the name of .hex file is "AA.hex" the name of header file is necessary to be "AA_Headers.inc".<br />
<br />
When hi finish to compile all files, auto close the thread, this feature allow to include this compiler on Pre Assembling section of AVR Studio, in this case before the compilation of AVR studio, AVR Studio can launch this compiler to actualize the images of libraries, and after can compile the project with updated libraries.<br />
<br />
Fix:<br />
On start up auto load the path where is.<br />
<br />
This version can be downloaded from <a href="https://morgothdisk.com/downloads/IntelHexToBinHexConverterV1.0.3.rar" target="_blank">here</a>.<br />
<span style="color: red; font-size: 180%;"><span style="font-weight: bold;"><br /></span></span><span class="Apple-style-span"><span class="Apple-style-span" style="font-size: 29px;"><b><span class="Apple-style-span" style="color: black; font-weight: normal;"><b><span class="Apple-style-span" style="color: red;">V1.0.2</span></b></span></b></span></span><span class="Apple-style-span"><br /><br />Fix: no filter to .hex in 1.0.1 version.</span>The last version of this utility can be downloaded from here (Internet explorer only).<br />
<br />
<span class="Apple-style-span"><span class="Apple-style-span" style="font-size: 29px;"><b><span class="Apple-style-span" style="color: red;">V1.0.1</span></b></span></span><br />
New:<br />
Added:<br />
<ol>
<li>On program open you can choose the base directory where is the source folder.</li>
<li><span class="short_text" id="result_box" lang="en"><span class="hps" title="Faceti click pentru traducerea alternativa">You can</span> <span class="hps" title="Faceti click pentru traducerea alternativa">always</span> <span class="hps" title="Faceti click pentru traducerea alternativa">change the</span> <span class="hps" title="Faceti click pentru traducerea alternativa">working directory.</span></span></li>
<li><span class="short_text" id="result_box" lang="en"><span class="hps" title="Faceti click pentru traducerea alternativa">Automatic checking and downloading updates.</span></span></li>
</ol>
<br />
<br />
<span class="Apple-style-span"><span class="Apple-style-span" style="font-size: 29px;"><b><span class="Apple-style-span" style="color: red;">V1.0.0</span></b></span></span><br />
<span style="color: red; font-size: 180%;"><span style="font-weight: bold;"><br /></span></span>This utility get all of the .hex files from directory that the utility has been opened /source and put converted files include directory structure to /bin.<br />
<br />
For example the project is placed to C:/source/, and the utility in C:/<br />
<br />
The directory structure is this:<br />
C:/source/Math.hex<br />
C:/source/IO_Port_Driver.hex<br />
C:/source/IO_Uart_Driver.hex<br />
<br />
After running of the utility all files is compiled on C:/bin/ and well see like that:<br />
<br />
C:/bin/Math.asm<br />
C:/bin/IO_Port_Driver.asm<br />
C:/bin/IO_Uart_Driver.asm<br />
<br />
The result is files .asm with data in hex format.<br />
<br />
To create static or dynamic library's is necessary to put links to the integrated functions on top of the library, for example:<br />
<br />
File: Math.asm<br />
<br />
.Org 0<br />
MathLibrary: <span style="color: #009900;">// This is the base address of the links</span><br />
<span style="color: #3333ff;">Rjmp</span> Add8x8_8<br />
<span style="color: #3333ff;">Rjmp</span> Add16x16_16<br />
<span style="color: #3333ff;">Rjmp</span> Add 32x32_32<br />
<span style="color: #3333ff;">Rjmp</span> Sub 8x8_8<br />
<span style="color: #3333ff;">Rjmp</span> Sub 16x16_16<br />
<span style="color: #3333ff;">Rjmp</span> Sub 32x32_32<br />
<span style="color: #009900;">;--------------------------------//End of links</span><br />
<span style="color: #009900;">//Begin of routines</span><br />
Add8x8_8:<br />
Code......<br />
<span style="color: #3333ff;">Ret</span><br />
<span style="color: #009900;">;--------</span><br />
Add16x16_16:<br />
Code......<br />
<span style="color: #3333ff;">Ret</span><br />
<span style="color: #009900;">;--------</span><br />
Add32x32_32:<br />
Code......<br />
<span style="color: #3333ff;">Ret</span><br />
<span style="color: #009900;">;--------</span><br />
Sub8x8_8:<br />
Code......<br />
<span style="color: #3333ff;">Ret</span><br />
<span style="color: #009900;">;--------</span><br />
Sub16x16_16:<br />
Code......<br />
<span style="color: #3333ff;">Ret</span><br />
<span style="color: #009900;">;--------</span><br />
Sub32x32_32:<br />
Code......<br />
<span style="color: #3333ff;">Ret</span><br />
<span style="color: #009900;">;--------</span><br />
<span style="color: #009900;">//End of library</span><br />
<br />
To define the offsets of links you can create another file with this, for example:<br />
<br />
File: Math.inc<br />
<br />
#define _MathLibrary (0)<span style="color: #009900;"> //Offset of base of links</span><br />
<br />
#define _Add8x8_8 (0) <span style="color: #33cc00;"> <span style="color: #009900;">//Link 1</span></span><br />
#define _Add16x16_16 (1)<span style="color: #009900;"> //Link 2</span><br />
#define _Add32x32_32 (2)<span style="color: #009900;"> //Link 3</span><br />
#define _Sub8x8_8 (3)<span style="color: #009900;"> //Link 4</span><br />
#define _Sub16x16_16 (4)<span style="color: #009900;"> //Link 5</span><br />
#define _Sub32x32_32 (5)<span style="color: #009900;"> //Link 6</span><br />
<span style="color: #009900;"></span><br />
To import a library, on end of main file include "Math.asm" file from bin directory.<br />
<br />
For example:<br />
<br />
_MathLibrary_:<br />
.Include "Math.asm"<br />
<br />
<br />
All of the function from this library can be called like that:<br />
<br />
<span style="color: #3333ff;">Rcall</span> _MathLibrary_ + _MathLibrary + _Sub8x8_8<br />
Or if "_MathLibrary" base address of links is <span style="color: #cc66cc;">0</span>:<br />
<span style="color: #3333ff;">Rcall</span> _MathLibrary_ + _Sub8x8_8<br />
<br />
"_MathLibrary_" is address of the imported library assigned by the compiler when you build the project, and "_Sub8x8_8" is the offset of the link of the included routine in library defined in<br />
"Math.inc"<br />
<br />
<span class="Apple-style-span"><span class="Apple-style-span" style="font-size: 29px;"><b><span class="Apple-style-span" style="color: red;"><br /></span></b></span></span>
<div>
<br /></div>
MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com2tag:blogger.com,1999:blog-1930368717405026694.post-6892226801029940692011-02-20T11:52:00.004+02:002018-03-13T02:23:45.954+02:00Development board 1 for ATXMEGA A1 microcontrollersThis is a very simple board to test and develop firmwares for ATXMEGA A1 micro-controllers.<br />
<br />
This board contains only strictly necessary components for the ATXMEGA A1 micro-controller and only one extra module is added, the USB to serial adapter, the rest of modules can be added to a mother board.<br />
<br />
This board has 89x74mm.<br />
<br />
<br />
<a href="http://3.bp.blogspot.com/-Qp1z6X9rmUg/TWDn4eCTO4I/AAAAAAAAAbM/hT6qn5lGhXo/s1600/AtxMega_A1DevBoard1Bot.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5575711296006077314" src="https://3.bp.blogspot.com/-Qp1z6X9rmUg/TWDn4eCTO4I/AAAAAAAAAbM/hT6qn5lGhXo/s320/AtxMega_A1DevBoard1Bot.JPG" style="cursor: pointer; display: block; height: 258px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />
<a href="http://4.bp.blogspot.com/--TEipL7Blfk/TWDn4AM1uHI/AAAAAAAAAbE/812h05W_fk0/s1600/AtxMega_A1DevBoard1Top.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5575711287997216882" src="https://4.bp.blogspot.com/--TEipL7Blfk/TWDn4AM1uHI/AAAAAAAAAbE/812h05W_fk0/s320/AtxMega_A1DevBoard1Top.JPG" style="cursor: pointer; display: block; height: 117px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />
This is a very simple board to test and develop firmwares for ATXMEGA A1 micro-controllers.<br />
<br />
This board contains only strictly necessary components for the ATXMEGA A1 micro-controller and only one extra module is added, the USB to serial adapter, the rest of modules can be added to a mother board.<br />
<br />
This board has 89x74mm.<br />
<br />
<br />
<br />
You can download gerber files and schematic from <a href="https://morgothdisk.com/downloads/AtxMega128A1DevBoard1.rar" target="_blank">here</a>.MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com0tag:blogger.com,1999:blog-1930368717405026694.post-39036407640141282542010-07-05T13:41:00.006+03:002018-03-13T02:24:14.999+02:00NGW100 AVR32 SDK modified from tolchain216<span class="long_text" id="result_box"><span title="">I recently started programming for avr32, for this reason I bought a motherboard NGW100, searching the internet for AVr32 AP7000 documentation I found the package libraries and drivers tolchain216, looking through it I noticed that this is not too arranged, so i begin to arrange </span><span title="">libraries and drivers by category and the result can be downloaded below.<br /><a href="https://morgothdisk.com/downloads/NGW100_AVR32_SDK%28tolchain216%29V1.0.rar" target="_blank">NGW100 AVR32 SDK from tolchain216 V1.0</a></span></span>MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com1tag:blogger.com,1999:blog-1930368717405026694.post-83979343610579288122010-05-20T12:04:00.039+03:002020-05-03T20:20:27.534+03:00Mp3 player with ATmega64, Vs1011 & Samsung E700 displayThis MP3 player is an upgrade to <a href="http://digitalelectronicsandprograming.blogspot.com/2009/04/mp3-player-with-atmega64-vs1011a-and.html">this player</a> . New in this player is a new nice interface with bitmaps from media player windows 7 and windows 7 battery icons.<br />
<br />
<object height="405" width="500"><param name="movie" value="https://www.youtube.com/v/ptbefOZtsGU&hl=en_US&fs=1?rel=0&border=1">
<param name="allowFullScreen" value="true">
<param name="allowscriptaccess" value="always">
<embed src="https://www.youtube.com/v/ptbefOZtsGU&hl=en_US&fs=1?rel=0&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"></embed></object><br />
<br />
<br />
<br />
I preferred to use bitmaps for interface because in future i want to be possible to change the skin interface from SD card, in this case is more simple to create skins for this player.<br />
<br />
<span style="color: red; font-size: 180%; font-weight: bold;">V1.0.1A</span><br />
<span class="short_text" id="result_box" lang="en"><span class="hps" title="Faceti click pentru traducerea alternativa"><br /></span></span>A little correction for used times for back light, keyboard and battery showing.<br />
<br />
<a href="https://morgothdisk.com/downloads/Mp3PlayerV1.0.1A_WithSDK_1.0.4.rar" target="_blank">Download MP3 PlayerV1.0.1A</a><br />
<br />
<span style="font-size: 180%; font-weight: bold;"><span style="color: red;">V1.0.1</span></span><br />
<br />
This version player is made to use ASM_SDK V1.0.4 and prepared to work with multiple opened files.<br />
<br />
<a href="https://morgothdisk.com/downloads/Mp3PlayerV1.0.1_WithSDK_1.0.4.rar" target="_blank">Download MP3_PlayerV1.0.1</a><br />
<br />
From here you can download <a href="http://digitalelectronicsandprograming.blogspot.com/2010/05/asm-sdk.html">ASM_SDK.</a><br />
With <a href="http://digitalelectronicsandprograming.blogspot.com/2010/05/asm-sdk.html"><span style="text-decoration: underline;">ASM_SDK 1.0.5</span></a> or <span class="short_text" id="result_box" lang="en"><span class="hps" title="Faceti click pentru traducerea alternativa">newest version you can play from SDHC high capacity > 4GB, at </span></span><span class="short_text" id="result_box" lang="en"><span class="hps" title="Faceti click pentru traducerea alternativa">the</span> <span class="hps" title="Faceti click pentru traducerea alternativa">frequency</span> <span class="hps" title="Faceti click pentru traducerea alternativa">of only</span> <span class="hps" title="Faceti click pentru traducerea alternativa">6</span> <span class="hps" title="Faceti click pentru traducerea alternativa">MHz</span></span> you can play 320Kb/s bit rate melody's.<br />
<br />
<span style="font-size: 180%; font-weight: bold;"><span style="color: red;">V1.0.0</span></span>From <a href="https://morgothdisk.com/downloads/Mp3PlayerATmega64LcdSamsungE700_V2.0.rar" target="_blank">here</a> you can download the first source code for this player.To compile this player is necessarily to download and include ASM SDK from <a href="http://digitalelectronicsandprograming.blogspot.com/2010/05/asm-sdk.html">here</a>, this version is made to use ASM_SDK V1.0.3.MorgothCreatorhttp://www.blogger.com/profile/18248178114743300608noreply@blogger.com1