Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 12:35 25 Nov 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 : (DM) Firmware wishlist

     Page 1 of 2    
Author Message
Olimex
Senior Member

Joined: 02/10/2011
Location: Bulgaria
Posts: 226
Posted: 07:19am 15 Dec 2011
Copy link to clipboard 
Print this post

DuinoMite have lot of hardware capabilities which are not covered completely in the current firmware. I would like to hear your opinion and priorities for what to implement next.

Ken is working now on the low power as this is great advantage to allow DuinoMite users to implement handheld and battery powered devices with DM.

Another I think important feature is to use the real SPI on UEXT.

As you all know MM-BASIC implements the SPI the same way as Serial ports with bit-banging and SPI is limited to only 100 KHz.

The real SPI on UEXT port could work if I remember correctly up to 20Mhz, which is extremly useful, Olimex have LED addressable strip where each LED could be individually addressed with 24 bit color, this means we can make LARGE LED VGA monitor (10x10 meters for instance) driven by DuinoMite with same BASIC commands like the VGA monitor on the connector (hence we will have COLOR DuinoMite display) if we only enable this fast SPI port.

we would like to hear your thoughs about what do you think is important to implement soon in DM firmware as the posibilities are lot.

And let's not forget DuinoMite is completely open source you can download always the latest firmware and if you have capability you can implement your own features which later Ken to integrate in the stock package.
 
DuinoMiteMegaAn
Senior Member

Joined: 17/11/2011
Location: Australia
Posts: 231
Posted: 09:49pm 15 Dec 2011
Copy link to clipboard 
Print this post

Just a start to keep Ken busy ...

1. CAN - Drivers -->CAN is not supported currently in MM-BASIC (Mega only)

2. Video screen saver - blanker (if possible - just like on the PC)

3. Back-up & restore of flash drive A and SD drive B with error checking (xmodem).

4. USB On-The-Go (OTG) host/device mode and drivers.
Note: USB host PIC32 can interface USB mouse, USB keyboard, USB camera,
USB printers, USB Bluetooth, WiFi modules, USB memory stick etc.
Of course all of these devices need proper drivers to be implemented.
 
rhamer
Senior Member

Joined: 06/06/2011
Location: Australia
Posts: 174
Posted: 02:21am 16 Dec 2011
Copy link to clipboard 
Print this post

LCD commands like the Basic Stamp 2 has.

These commands are passed the pins that the LCD is connected to and handles the low level stuff for you.

LCDCMD
LCDIN
LCDOUT

Cheers

Rohan
Rohan Hamer
HAMFIELD Software & Hardware Solutions

Makers of the Maximite Expander.

http://www.hamfield.com.au
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2914
Posted: 02:30am 16 Dec 2011
Copy link to clipboard 
Print this post

  rhamer said   LCD commands like the Basic Stamp 2 has.

These commands are passed the pins that the LCD is connected to and handles the low level stuff for you.

LCDCMD
LCDIN
LCDOUT

Cheers

Rohan


Yes that would be nice.

What does LCDOUT do? Is that to read the ready pin? If so it can probably be ignored.

We would either have to define the pins that the LCD was On (Suggest as Per te LCD shield inc. modifications for DM) or using the SETUP command define them there (best option)

I like the way this is starting to Flow...

I hope Ken likes hard work and no sleep (apart from the SLEEP Command)

Regards,

Mick

Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
ksdesigns

Senior Member

Joined: 25/06/2011
Location: United States
Posts: 143
Posted: 06:47am 16 Dec 2011
Copy link to clipboard 
Print this post

  DuinoMiteMegaAn said   Just a start to keep Ken busy ...

1. CAN - Drivers -->CAN is not supported currently in MM-BASIC (Mega only)

2. Video screen saver - blanker (if possible - just like on the PC)

3. Back-up & restore of flash drive A and SD drive B with error checking (xmodem).

4. USB On-The-Go (OTG) host/device mode and drivers.
Note: USB host PIC32 can interface USB mouse, USB keyboard, USB camera,
USB printers, USB Bluetooth, WiFi modules, USB memory stick etc.
Of course all of these devices need proper drivers to be implemented.


1. have a ways to go on that one
2. Added screen saver to setup 5-60 in 5 minute increments see menu below
3. Should not be to hard could do a crc of it to make sure its good
4. i have a version with usb keyboard but most of my usb keyboards have hubs in them and the microchip stack does not like hubs
ken


DuinoMite Setup Menu - V1.4 Dec 15 2011
-----------------------------------------
Hardware Platform - DuinoMite
V) Video Mode - NTSC - 480
R) RTC On Boot - PCF8563
D) Date Format - MM/DD/YY
T) Show Time Date - Enabled
N) Screen Saver - 15 Minutes
S) SD Card - Enabled
U) Usb Console - Disabled
C) Serial Console - Com3:
B) Baud Rate - 115200
M) Custom Video Mode
P) Print Custom Video Mode
-----------------------------------------
Q) Quit Dont Save Settings
X) Exit Save Settings
 
DuinoMiteMegaAn
Senior Member

Joined: 17/11/2011
Location: Australia
Posts: 231
Posted: 07:17pm 19 Dec 2011
Copy link to clipboard 
Print this post

@Ken
Another firmware request for Ken.

An extremely simple OTG USB driver that does the following:

1. Supply +5 VDC power to the USB port eg for RF dongle.
2. Console keyboard commands are serially echoed to the dongle.
3. Received serial data from the dongle are displayed on the console screen.

Note: The dongle acts like a serial rf modem.(Has a FTDI FT232RL USB interface chip)
Note: If need be, I will send you this RF modem dongle for test. Edited by DuinoMiteMegaAn 2011-12-21
 
djuqa

Guru

Joined: 23/11/2011
Location: Australia
Posts: 447
Posted: 01:20am 20 Dec 2011
Copy link to clipboard 
Print this post

Sometimes when your programs start getting a little LONG it would be good to
use the Keywords HIDE & UNHIDE to selectively list the section heading and endings only and leave the already debugged bracketed section content unlisted.

I realise that list can accept parameters, but it would be excellent to be able to have all that standard initialisation code, Subroutines and other code to be excluded from a standard list.

i.e. Standard list (lines between HIDE and UNHIDE not shown)

>List

10 CLS
20 For x = 1 to 100
30 'Some excellent code but still under development
.
120 next
200 ' Subroutine to display Numbers and letters in meaningful arrangements
210 HIDE
. The routine is not shown
280 UNHIDE
290 return
1000 ' Interrupt Routine
1010 HIDE
. The Service routine details not shown
1090 UNHIDE
1100 Ireturn


Full listing (lines between HIDE and UNHIDE shown)

>List FULL

10 CLS
20 For x = 1 to 100
30 'Some excellent code but still under development
.
120 next
200 ' Subroutine to display Numbers and letters in meaningful arrangements
210 HIDE
220 Prints Letters$; Numbers$ ' The routine is shown
280 UNHIDE
290 return
1000 ' Interrupt Routine
1010 HIDE
1020 . The Service routine details shown
1030 setpin(1)=asc(letter$)
1090 UNHIDE
1100 Ireturn


Maybe the state of the list command could be set using SETUP or
LIST ON / LIST OFF Commands

Edited by djuqa 2011-12-21
VK4MU MicroController Units

 
Pr0f
Newbie

Joined: 09/12/2011
Location: United Kingdom
Posts: 10
Posted: 06:32pm 30 Dec 2011
Copy link to clipboard 
Print this post

9th bit Coms on COM3/COM4

I suspect that the pic32 can do the same as lesser pics and provide the ability to do addressable COM's - it would be nice if the Duinomite could make use of that so that the posibility of using things like the LIN bus could be easily imlemented - at least from a hardware perspective. It's a great 1 wire bus for robust environments like the car (for which it was intended).
 
janbrogger
Newbie

Joined: 31/12/2011
Location: Norway
Posts: 2
Posted: 08:29am 03 Jan 2012
Copy link to clipboard 
Print this post

Dear Olimex guys.

I'd really love more pixels, more bits per pixel. I took a look at the code in Video.c and if the chips are able to do it on the Duinomite, then go for it. A robust "no updates", "always works", "low latency", "no viruses" computer with a keyboard and a reasonable screen display and at a rock bottom price should have lots of different uses.
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3800
Posted: 08:57am 03 Jan 2012
Copy link to clipboard 
Print this post

janbrogger - I wonder if that would be worth a separate thread, and ask for help as to whether the hardware can do it (bit timings, waveforms, heck I don't know what!) and help changing the code if so?

You'll have seen that Geoff basically used the code from that PIC32 book (*)

It'll need plenty more RAM is my understanding.

John

(*) this one:
"Programming 32-bit Microcontrollers in C
- Exploring the PIC32"
Lucio Di Jasio
ISBN 978-0-7506-8709-6
 
Olimex
Senior Member

Joined: 02/10/2011
Location: Bulgaria
Posts: 226
Posted: 09:29am 03 Jan 2012
Copy link to clipboard 
Print this post

Hi Janbrogger

it's not good to rise resolution etc as this eats PIC32 internal resources and memory.
what we are headed is 800x600 pixel 256 color add-on shield, but it will be separate UEXT / Arduino platform module. It also add 64 voice polyphonic audio / sound.




 
janbrogger
Newbie

Joined: 31/12/2011
Location: Norway
Posts: 2
Posted: 10:57am 03 Jan 2012
Copy link to clipboard 
Print this post

Olimex: how about just addding color then? Even 4 colors would be very useful.
 
Olimex
Senior Member

Joined: 02/10/2011
Location: Bulgaria
Posts: 226
Posted: 11:02am 03 Jan 2012
Copy link to clipboard 
Print this post

video takes lot of RAM
adding 2 bit color will require x2 times more memory use than now, even now MM-BASIC have only 30 K free RAM i.e. if color is add no space to write code :)
 
YT2095

Newbie

Joined: 07/02/2012
Location: United Kingdom
Posts: 22
Posted: 11:15am 08 Feb 2012
Copy link to clipboard 
Print this post

a couple of things I wouldn`t mind changing/adding;

1) a /W for the Files command, like DIR/W in Dos, with a few Gb of storage, having it list as Wide, would reduce the time taken to locate a file by half.

2) the Sound command, what`s wrong with it? seems I have to add a Pause on the next line to get a peep out of it, the Duration only works if the following pause statement is just as long, for instance:

10 sound rnd(1)*2000+20,100
20 pause 100
30 goto 10

will work, but remove line 20 and you`ll not get a peep out of it!
incidently the above prog is a variant of the example given for the Sound command in the help files, so the help file needs changing too as the prog doesn`t work.

Please don`t take any of this as a complaint or criticism it is Not, it`s more of Wish-list thingy and a bug report.

All the best!

 
Gizmo

Admin Group

Joined: 05/06/2004
Location: Australia
Posts: 5078
Posted: 11:39am 08 Feb 2012
Copy link to clipboard 
Print this post

Hi YT

The sound command caught me out the first time I used it too. Unlike computers of old, the MMBasic's sound command runs in the background. As soon as the sound command is started, MMBasic moves on to the next command, while the sound is processed in the background. Normally this is a cool feature, but in the example shown, its constantly been restarted just as it gets going.

The sound command uses the inbuilt PWM, and can run contantly in the background if needed.

Glenn
The best time to plant a tree was twenty years ago, the second best time is right now.
JAQ
 
Juri74

Senior Member

Joined: 06/02/2012
Location: Italy
Posts: 162
Posted: 10:49pm 08 Feb 2012
Copy link to clipboard 
Print this post

absolutely CAN driver, i bought a duinomite mega because the can capability.. but can is useless at this time.. what a mess!!!
CAN CAN CAN CAN!!! even a really basic acces for start.. please!
Juri
 
Olimex
Senior Member

Joined: 02/10/2011
Location: Bulgaria
Posts: 226
Posted: 05:39am 09 Feb 2012
Copy link to clipboard 
Print this post

Hi Juri

DuinoMite is open source project and the firmware is done mostly in the spare time.
The real firmware development started few months ago so the CAN is still not implemented.

If you want to use the CAN - it's there but you have to handle this in C and to add yourself the supporting BASIC commands as I described HERE you will see that this is real fun.

The other option is to wait it to be implemented

As neither of current DM development team has worked with CAN before and as this is very specific interface I spoke last week with somebody who already did several open sources projects with CAN. He works mostly with ARMs but was interested to check PIC32 and because DM is open source decided to join the development and contribute.
He asked me to send him DuinoMite which I did, so we may have full CAN support in near future, but do not ask me for release dates

 
YT2095

Newbie

Joined: 07/02/2012
Location: United Kingdom
Posts: 22
Posted: 01:31pm 10 Feb 2012
Copy link to clipboard 
Print this post

One little thing I would like to see change/added (at least I Hope it`s a simple thing to change/add), would be the Pixel command.
in particular the =0 or =1 parts at the end.
I`d like to see and Invert option, just like the TV-Out library for the Arduino.

in effect if you have a black screen and put random pixels on there in a loop, eventually you end up with a White screen.

with the Invert option you can keep the screen randomised forever, and constantly changing.

so basically it`s NOT function of the address of an existing pixel in screen RAM.

any chance we can have a PIXEL(x,y)=2 at all?


Cheers! :)
 
Olimex
Senior Member

Joined: 02/10/2011
Location: Bulgaria
Posts: 226
Posted: 07:46pm 10 Feb 2012
Copy link to clipboard 
Print this post

YT2095 this is very easy to implement I check the sources and this could be done with just two lines of code
 
Juri74

Senior Member

Joined: 06/02/2012
Location: Italy
Posts: 162
Posted: 08:38pm 10 Feb 2012
Copy link to clipboard 
Print this post

Hello again,
speaking for the "n" time about a color output (i see that a lot of people wants color) however thinking about memory consumption "twice" is a large memory size.. only for 2 bit color!
but hey! i think almost nobody wants a 3 bytes palette per pixel... there is gameduino for that purpose, however suppose this:
if we use 2 bit per color and we group those bits in a byte (in this form: 00RRGGBB where first 2 bits are ignored or reserved for future use) with 2 bits x color we can have about 64 colors......
and if instead to have color per pixel, we could have colour x char, the size of the color map should be reduced and in the composite out should be even smaller!
to further reduce the color map memory size could be used the size of font#2 setting for color cells.. i think with about 3k colour output could be achieved (of course losig TWO MORE pins, 3 pins are needed to generate RGB colors)

this is my idea, this is only an idea, probably the best solution is to wait gameduino..
 
     Page 1 of 2    
Print this page
© JAQ Software 2024