Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 20:52 19 Apr 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Micromite eXtreme: V5.05.03, MP3 player

Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8567
Posted: 02:25pm 28 Apr 2019
Copy link to clipboard 
Print this post

Please find attached V5.05.03 for the 100/144 pin chips

2019-04-29_002446_MMX5.05.03.zip

and the 64-pin chips

2019-04-29_002526_MMX645.05.03.zip

2019-04-29_002337_Micromite_eXtreme_Manual.pdf

This version includes mp3 playback over the I2S output port as well as flac file playback. It also includes a new information function MM.INFO$() as well as "LIST FUNCTIONS" and "LIST COMMANDS"





It also fixes a number of issues that occurred when a user defined function was called in the conditional test of a DO WHILE loop or in the parameters of a FOR-NEXT loop - thanks to Geoff for this fix.



FLAC playback over I2S
Supported frequencies are:

44100Hz 16-bit(CD quality) and 24-bit
48000Hz 16-bit and 24-bit
88200Hz 16-bit and 24-bit
96000Hz 24-bit
192000Hz 24-bit (252MHz only)

and the command syntax is simple: PLAY FLAC flacfilename$ [,interruptwhenfinished]
The command is non-blocking and PLAY PAUSE, PLAY RESUME, and PLAY STOP work as expected. Volume control is available on FLAC files using PLAY VOLUME leftlevel, rightlevel.

MP3 playback over I2S
The supported frequency is 44100Hz and the command syntax is simple: PLAY MP3 mp3name$ [,interruptwhenfinished]
The command is non-blocking and PLAY PAUSE, PLAY RESUME, and PLAY STOP work as expected. Volume control is available on MP3 file playback using PLAY VOLUME leftlevel, rightlevel.

Connections to the DAC
I2S Dacs are cheap (<£6.00) and readily available (ebay is a good source). Tested versions include those with ES9023 chips and those with PCM5102 chips. For DACs with an inbuilt MCLK source the MCLK connection can be omitted.

Connections to the DAC are as follows:

MCLK - SPI3-IN (this is re-configured as an output of the clock signal and runs at 128 to 512 times the frame clock depending on the frequency allowing the DAC to oversample.
DATA - SPI3-OUT
SCK (Bit-Clock) - SPI3-CLK
LRCK (Frame-Clock) - pin-97 on the 144-pin, pin 68 on the 100-pin
All these pins are available on the SPI3 header on the Backpack144.

Connections for the 64-pin chip are as follows:
MCLK - Pin-13
DATA - Pin-45
LRCK - Pin-30
SCK - Pin-29
 
goc30

Guru

Joined: 12/04/2017
Location: France
Posts: 425
Posted: 06:10pm 28 Apr 2019
Copy link to clipboard 
Print this post

Hi peter

mm.info is ok
but i have small pb with sdcard, it is an externe sdcard, not lcd-sdcard
my config
option sdcard 81
mhen i use "files" function; led is light, but mm said aftes 2sec 'Error SD card not found'

after i reload old version to see if it is same
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8567
Posted: 07:10pm 28 Apr 2019
Copy link to clipboard 
Print this post

  Quote  my config
option sdcard 81
mhen i use "files" function; led is light, but mm said aftes 2sec 'Error SD card not found'


Shouldn't matter if it is lcd-sdcard or external. It is external on my backpack PCB. It works for me if I have a CD pin or if I don't. Can you give more info which PIC chip? Does it work with old version?

I haven't changed anything to do with the SD card handling except that MM.INFO$ has to try and access the card when CD isn't defined to know if the card exists
 
goc30

Guru

Joined: 12/04/2017
Location: France
Posts: 425
Posted: 11:17pm 28 Apr 2019
Copy link to clipboard 
Print this post

Hi peter

I have found my problem, I have not save option list before update firmware and I have forgot that i use SPI3
Now it is ok
but
I have an other pb who come with new version
my prog stop just after writing all fonts
it stop after first line in print sequence


Print "***************************"
Print " TEST GRAPHIQUES " '<----- stop here, not print this line
Print " version:";txversion$
Print "***************************"
print


if I download old version of firmware, it work correctly
and it seem not a memory pb, I have many memory free

my config

CPU type : Pic32mz2048EFG100
OPTION CPU 200
OPTION LCDPANEL SSD1963_7_16, LANDSCAPE
OPTION TOUCH 80, 82
OPTION SDCARD 81,,,3
OPTION HEARTBEAT ON

Edited by goc30 2019-04-30
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8567
Posted: 09:06am 29 Apr 2019
Copy link to clipboard 
Print this post

  Quote  I have an other pb who come with new version
my prog stop just after writing all fonts


This is something to do with MM.INFO$ but I haven't tracked down the problem yet.

if you force these lines as an error then the program will work

On error ignore
txt=MM.INFO$(somethinginvalid) ' change from AUTORUN
On error ABORT


I'll post an update when I find the problem
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8567
Posted: 12:02pm 29 Apr 2019
Copy link to clipboard 
Print this post

Fix to MM.INFO$(CPUSPEED) which was the only bit not cut-and-paste from the Armmite

for 100/144 pin chips

2019-04-29_220015_MMX5.05.03.zip

and for 64-pin chips

2019-04-29_220033_MMX645.05.03.zip


NB the sprite tests as written only work on 800x480 displays but sprites are also available on buffered ILI9341 (320x240) and ILI9481 (480x320) displays
Edited by matherp 2019-04-30
 
goc30

Guru

Joined: 12/04/2017
Location: France
Posts: 425
Posted: 01:11pm 29 Apr 2019
Copy link to clipboard 
Print this post

hi peter

now it is wonderfull

I have pb with my motherboard who put green color always "on", I know it is my pb (soldering pb)

for sprite, I don't know if it because i declare lcd driver as "no buffer" but sprites don't want to work, I have an "display type" error

OPTION LCDPANEL SSD1963_7_16, LANDSCAPE
Edited by goc30 2019-04-30
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8567
Posted: 01:21pm 29 Apr 2019
Copy link to clipboard 
Print this post

  Quote  I have an "display type" error


This is because you haven't specified the RD pin

OPTION LCDPANEL SSD1963_7_16, LANDSCAPE , , RDpin

without it the code can't read the SSD graphics memory
 
goc30

Guru

Joined: 12/04/2017
Location: France
Posts: 425
Posted: 01:42pm 29 Apr 2019
Copy link to clipboard 
Print this post



  matherp said  
  Quote  I have an "display type" error


This is because you haven't specified the RD pin

OPTION LCDPANEL SSD1963_7_16, LANDSCAPE , , RDpin

without it the code can't read the SSD graphics memory


yesssss!!! it is very very good


I will update my prog test
Edited by goc30 2019-04-30
 
astro1
Regular Member

Joined: 26/06/2016
Location: Australia
Posts: 51
Posted: 12:40am 21 Jul 2019
Copy link to clipboard 
Print this post

Problem where Play stops when a second CLS is executed, with interrupt never happening.
Put in a pause 5 or more before any next CLS and it is OK. Stops when pause < 5.
For more complicated code, need to use pause 60.

running mmx144 cpu 252 version 5.0503

' test code
Dim audio%
audio%=0
Play volume 10,10
Play flac "test1.flac",myint

CLS
pause 5
CLS

Do
Loop Until audio%=1
End

Sub myint
audio%=1
End Sub
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8567
Posted: 07:41am 21 Jul 2019
Copy link to clipboard 
Print this post

  Quote  Problem where Play stops when a second CLS is executed,


Thanks for the report. I think I understand the issue and will fix in the next release
 
astro1
Regular Member

Joined: 26/06/2016
Location: Australia
Posts: 51
Posted: 06:57am 04 Aug 2019
Copy link to clipboard 
Print this post

  matherp said  
  Quote  Problem where Play stops when a second CLS is executed,


Thanks for the report. I think I understand the issue and will fix in the next release


Also stops audio on a var save
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8567
Posted: 07:21am 04 Aug 2019
Copy link to clipboard 
Print this post

  Quote  Also stops audio on a var save


That one isn't soluble as interrupts have to be disabled to write to flash memory. I'll make VAR SAVE give an error if audio is playing.
 
karjo238
Regular Member

Joined: 12/10/2018
Location: New Zealand
Posts: 54
Posted: 07:49am 13 Aug 2019
Copy link to clipboard 
Print this post

Alright, I am an idiot I know, but how do you upgrade to this version of MMBasic? Can you you software, or do you have to build some sort of hardware to do the job? I think I've seen the hardware, but I am just uncertain at this point, and want to doublecheck.

Also, are SPRITEs available in MMBasic 5.0502? The command doesn't seem to be listed, but again, that may well just be me...

Many thanks as always,

Joseph :-)
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8567
Posted: 08:34am 13 Aug 2019
Copy link to clipboard 
Print this post

  Quote  Can you you software, or do you have to build some sort of hardware to do the job? I think I've seen the hardware, but I am just uncertain at this point, and want to doublecheck.

Also, are SPRITEs available in MMBasic 5.0502? The command doesn't seem to be listed, but again, that may well just be me...


This version of MMBasic only runs on the PIC32MZ2048EF range of microprocessors. Sprites as implemented in this firmware and other functionality like the mp3 playback are not implemented in Geoff's release 5.5.02 and can't be due to limitations of the PIC32MX chips
 
karjo238
Regular Member

Joined: 12/10/2018
Location: New Zealand
Posts: 54
Posted: 04:39am 15 Aug 2019
Copy link to clipboard 
Print this post

Oh bother, it looks like I purchased the wrong processor :\ Nevermind, it will do some of the things I'm aiming to do, so we'll plug onwards.

Peter, can you point me in the direction of a Micromite with a PIC32MZ2048EF onboard? For Christmas, I will purchase myself one of them, and avail myself of MP3 playback and hardware sprites.

Many thanks,

Joseph.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8567
Posted: 09:29am 15 Aug 2019
Copy link to clipboard 
Print this post

  Quote  Peter, can you point me in the direction of a Micromite with a PIC32MZ2048EF onboard?


phil (WhiteWizard) has a full range of Maximites and Micromites available including the popular MMX144 module. His website is micromite.org, and I know he has much more available too - contact him directly and I’m sure he’ll be able to help you out
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024