Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 22:15 18 May 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 : MMbasic 5.3 Requests.

     Page 2 of 11    
Author Message
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 11:52pm 06 Sep 2016
Copy link to clipboard 
Print this post

Maybe instead of sprites supporting a LCD based on a FT800 can be considered. Then all the graphics 'work' is done by the FT800 and the mcu 'only' needs to manage the objects that are displayed.
This comes very close to the architecture now within the GUI command set, and it probably can map onto those graphical 'objects' the FT800 uses.

The Gameduino 2 uses that chip and some amazing stuff can already be done by using a simple atmel chip.
https://www.youtube.com/watch?v=4XJUz4-fpb0

Lots of info and examples on FTDI's website: http://www.ftdichip.com/Products/ICs/FT800.html Edited by MicroBlocks 2016-09-08
Microblocks. Build with logic.
 
LouisG
Senior Member

Joined: 19/03/2016
Location: Australia
Posts: 121
Posted: 12:49am 07 Sep 2016
Copy link to clipboard 
Print this post


Just received my E100 kit. Thanks Grogster.

One type of animation I want to look into eventually will be making lines in a process diagram "flow", i.e. representing liquid flowing in a pipe. The motion of dashed lines would indicate direction of flow and no-flow would be without animation.

Haven't studied sprites in Maximite. Not sure if they are relevant. Pretty sure I don't want to detect collisions. Would existing Micromite graphics commands suffice?


 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2294
Posted: 04:09am 07 Sep 2016
Copy link to clipboard 
Print this post

instead of adding sprites to the micromite, might it not be a better use of resources to port some of the enhancements of micromite basic back into maximite basic?

it seems to me that one major advancement with micromite basic was having tokenized basic code stored and run from flash memory. if this (pretty major advancement) could be backported to maximite basic, then the whole issue of limited RAM in graphics modes would be eliminated from the maximite. and while the MX795 may lack some of the I/O port flexibility of the MX170 and MX470, for a games console it is far superior - driving affordable 15" VGA monitors being key.

i do wonder if there is too much pressure to steer the micromite ecosystem towards a general-purpose do-it-all computer platform, to the detriment of the core functionality as a microcontroller that runs basic. sometimes it is better to have two or three specialized tools that each do one task well, rather that one tool that can do several tasks but only at a mediocre level.


cheers,
rob :-)Edited by robert.rozee 2016-09-08
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2794
Posted: 06:41am 07 Sep 2016
Copy link to clipboard 
Print this post

  robert.rozee said  i do wonder if there is too much pressure to steer the micromite ecosystem towards a general-purpose do-it-all computer platform, to the detriment of the core functionality as a microcontroller that runs basic. sometimes it is better to have two or three specialized tools that each do one task well, rather that one tool that can do several tasks but only at a mediocre level.


Rob,

I have to slightly disagree with this for the following reasons. The MicroMite is currently a very able MicroController (embedded controller) that runs Basic and has lots of 'advanced' features that are extremely easy to program & use.

With the excellent TFT work from PeterM, it has opened up the MicroMite to all kind of control panel applications with advance graphics not to mention Touch control. This TFT work was not at the detriment of an embedded controller - it was an enhancement. Look at any recent issue of SC to see several excellent examples of real applications (and solutions that are more than just an embedded controller).

This direct TFT connection led in turn to the potential of it ALSO 'behaving' like a '80s home computer' simply by adding a keyboard, and displaying the console on the TFT. Again, no determent to it being an embedded controller.

So rather than spend effort porting things back to the MaxiMite hardware (which admittedly did drive a VGA monitor), why not keep moving the power of the MicroMite forward. Why add a VGA monitor when you can now connect a TFT directly (and at a higher resolution).

If 'space' permits the addition of some basic Sprite functionality, then you have a SINGLE device that can be more than one 'beast'; and do all of them pretty damn well!

These are just my thoughts after more than three years of playing with MaxiMites & MicroMites.

By the way, adding some 'sound' features would complete the perfect solution IMHO. I am actually working on a Sound Card add on for the MicroMite - parts arriving this week

WW

Edited by WhiteWizzard 2016-09-08
For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2294
Posted: 07:36am 07 Sep 2016
Copy link to clipboard 
Print this post

alas, every new feature consumes flash space, with the MX170 now chock-a-block. because flash is full, the existing feature set becomes more difficult to maintain and enhance. for example, any rework of the onboard editor.

  Quote  Why add a VGA monitor when you can now connect a TFT directly (and at a higher resolution).


because a 15" VGA monitor costs next to nothing, and can be read without needing glasses. by comparison, a TFT display of any size is considerably more expensive, while for smaller sized displays usefulness is limited to a handful of buttons and other controls.

please price a 15" TFT that can be connected to an MX470 and report back. whereas the economics of an MX795 and 15" VGA screen are far more justifiable.


cheers,
rob :-)
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2794
Posted: 10:33am 07 Sep 2016
Copy link to clipboard 
Print this post

Sprites for the MM+ only i.e. the MX470. Not proposing as a feature for the MX170 (I should have made that clearer - sorry )

SSD displays of 7" or 8" can contain many touch buttons (unlike a 'standard' VGA). TFT cost is more than a second hand VGA I fully accept. SSDs currently up to 10" are quite readable. But IF you need bigger display then MaxiMite + VGA is the route now.

As for costs: 8" TFT (with Touch) on MX470 with all current MM+ features = Circa £60 (and available today).

MX795 + second hand VGA + MMBasic Porting = Circa £30 + Geoff's time to port everything!! Available only IF Geoff willing to spend the time to port

In all seriousness, it depends on what the VGA is ultimately for. I guess not for coding as you can do this on a LapTop/PC with whatever size screen you want.
IF for Visual Output as used in a Control Panel system then IF you need MMv5.2 features then why not have a MM(+) talking serially to a MaxiMite/VGA combo and display the 'data' on the 'big screen'. No porting required - just use currently available technology.

Don't get me wrong - I would love to see a MaxiMite v5.X - however, apart from the VGA element, I don't see a justification for the man-hours (read: Geoff-hours) needed to be spent on this task.

Time we 'remind' Peter M about hurrying up with the 65" OLED CSub for the MX170


For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
skylight
Newbie

Joined: 10/01/2016
Location: United Kingdom
Posts: 23
Posted: 11:31am 09 Sep 2016
Copy link to clipboard 
Print this post

What initially attracted me to the micromite was the ease of coding sensors with one line so perhaps adding more sensors to the list?
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1664
Posted: 11:56am 09 Sep 2016
Copy link to clipboard 
Print this post

  robert.rozee said   alas, every new feature consumes flash space, with the MX170 now chock-a-block. because flash is full, the existing feature set becomes more difficult to maintain and enhance. for example, any rework of the onboard editor.


That's where I have the thoughts on whether an "MMbasic Core" version could be complied?

Just the Core of MMbasic minus all the Special Device support.
All support for displays, keypads, servo's, Temp & Humidity available as load in functions.

Still keeping the standard version where they are built in.
It's worth it's weight in gold for people starting out & that's an area not to be ignored.

I don't know how it's written & complied, but I do wonder if the option to exclude various routines is something that can be setup.

The 28 pin is a great little device, I don't think it's time is done.

Phil.
 
Zonker

Guru

Joined: 18/08/2012
Location: United States
Posts: 761
Posted: 07:16pm 09 Sep 2016
Copy link to clipboard 
Print this post

Is there a way to add precision timer channels in hardware that is triggered with an input pin... After timeout, the hardware would then "flip" the state of an output pin, or possibly cause an interrupt to branch to a SUB..? Like PWM, it would run in the background, not disturbing program flow... I would like to use this for controlling SCR's and Triac's (3 phase control) for power supplies...

Maybe instead, just add a "sync" input pin to the options of the existing PWM or Servo command instead of supplying the frequency... With a resolution of 0.005ms, should be good for 50/60hz work...

I'm sure this is probably not a need that many users would be asking for, but was wondering if it was possible to do... Hey, it is a micro controller...

 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 07:26pm 09 Sep 2016
Copy link to clipboard 
Print this post

A VGA screen can be cheap if you have them lying around.
I have none anymore. I had about 5, but they all died of old age.
Buying a cheap one on ebay is about 20US$ and about 60US$ shipping. Second hand is not always really cheap. Other option is to drive 400 Kms to a second hand electronics place and find a reasonable good one. Without warranty of course.
I think VGA is past its time.
Now i have monitors with HDMI that i can connect to a pc, laptop, phone, media player, raspberry pi etc.
The maximite & color maximite are collecting dust.

Microblocks. Build with logic.
 
LouisG
Senior Member

Joined: 19/03/2016
Location: Australia
Posts: 121
Posted: 09:33pm 09 Sep 2016
Copy link to clipboard 
Print this post

@Zonker

Re triacs/SCRs: I once asked Geoff that very same question. This was his reply (by email 22/2/14):

"I have looked into it but the timers in the PIC32 do not have the facility to zero their count via an external signal. The same thing could be done by triggering an interrupt then, in the interrupt, disabling the timer, resetting its count, then enabling it again but I fear that would introduce a lot of jitter."

Not sure if the above is still valid a couple of years down the track.

Re MM+ talking serially to a MaxiMite/VGA combo - I think it is a great idea. An additional bonus would be all those extra I/O pins that the Maximite could provide.


 
LouisG
Senior Member

Joined: 19/03/2016
Location: Australia
Posts: 121
Posted: 10:42pm 09 Sep 2016
Copy link to clipboard 
Print this post


@Zonker (again)

I'm guessing that if jitter in phase control timing is objectionable it would be due to the unsynchronised delays caused by the Basic interpreter. This might not be the case with code written in Assembler, for instance.

In 2003 I made a quantity of small 3-phase 380V 2A AC triac fan controllers (without neutral) based on the PIC12C508 and programmed in assembler. Zero-crossing detection and phase control timing worked perfectly with no discernible jitter. Can post a picture if of interest.


 
Zonker

Guru

Joined: 18/08/2012
Location: United States
Posts: 761
Posted: 02:51am 10 Sep 2016
Copy link to clipboard 
Print this post

Thanks Louis for the info...

I guess I will just have to do it some other way... Still scratchin the head on this one...
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3678
Posted: 04:27am 10 Sep 2016
Copy link to clipboard 
Print this post

  Zonker said   Is there a way to add precision timer channels in hardware that is triggered with an input pin... After timeout, the hardware would then "flip" the state of an output pin, or possibly cause an interrupt to branch to a SUB..? Like PWM, it would run in the background, not disturbing program flow... I would like to use this for controlling SCR's and Triac's (3 phase control) for power supplies...

Maybe instead, just add a "sync" input pin to the options of the existing PWM or Servo command instead of supplying the frequency... With a resolution of 0.005ms, should be good for 50/60hz work...

I'm sure this is probably not a need that many users would be asking for, but was wondering if it was possible to do... Hey, it is a micro controller...


Even if it were possible, would it be OK that it doesn't function right for "ages" (e.g. during uC power up)?

John
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3678
Posted: 04:29am 10 Sep 2016
Copy link to clipboard 
Print this post

  MicroBlocks said   A VGA screen can be cheap if you have them lying around.
I have none anymore. I had about 5, but they all died of old age.
Buying a cheap one on ebay is about 20US$ and about 60US$ shipping. Second hand is not always really cheap. Other option is to drive 400 Kms to a second hand electronics place and find a reasonable good one. Without warranty of course.
I think VGA is past its time.
Now i have monitors with HDMI that i can connect to a pc, laptop, phone, media player, raspberry pi etc.
The maximite & color maximite are collecting dust.

Whereas here you can drive probably 5 miles and pick them up typically free.

Surprising how different things can be!

I'm thinking for those without VGA there appear to be VGA -> HDMI converters.

John
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1664
Posted: 10:53am 10 Sep 2016
Copy link to clipboard 
Print this post

Mention this in another thread.

Making an LED flash. I had a couple of physical LEDs on my project to indicate that certain things were happening.

So Easy with a physical device.

When I replace the physical LED's with GUI ones, it becomes a completely different task, particularly if there's more than a few.

Wondering a PULSE parameter would be an applicable addition to the GUI LED Command?

[Code] GUI LED L_Led1,"",0,419,60,RGB(Yellow),[Pulse Time]
GUI LED L_Led2,"",739,419,60,RGB(Yellow),[Pulse Time]
[/code]

When the Ctrl_Val for the Led was set to 1 it would illuminate for the desired pulse time then go out. Assume it would be correct for the Ctrl_Val to behave the same.

Also wonder what the value of adding a latch time to GUI BUTTON might be.
So it could be latched for a defined period.

Phil.
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3167
Posted: 01:14pm 10 Sep 2016
Copy link to clipboard 
Print this post

Both are great ideas - simple and useful. I will add them to the todo list for investigation.

Geoff
Geoff Graham - http://geoffg.net
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8605
Posted: 11:34pm 10 Sep 2016
Copy link to clipboard 
Print this post

Geoff

Just starting to program a real application rather than enabling technology.

What I would find useful is GUI TIMEBOX and GUI DATEBOX. Similar to NUMBERBOX but pop displays that ensure valid times or dates are enteredEdited by matherp 2016-09-12
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1664
Posted: 11:56am 11 Sep 2016
Copy link to clipboard 
Print this post

  matherp said  
Just starting to program a real application rather than enabling technology. [/quote]
Sounds interesting. Would love to hear a basic description of it's task.

[Quote]
What I would find useful is GUI TIMEBOX and GUI DATEBOX.


Both ideas could really unlock some great options.

Particularly if they could be made display only with a count up/down option.

In that case, the Ctrl_Val could be dealt with in code.

Phil.
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1664
Posted: 02:59pm 17 Sep 2016
Copy link to clipboard 
Print this post

Hi Geoff,

I'm wondering if an enhancement of the TIMER Command & Function is a valid suggestion?

I sometimes find it confusing to use in situations where different parts of code might use it.

As in, I want to use it here, but I'm already relying on it elsewhere & resetting it is not an option.

Would TIMER[(n)] where n=0 to say 3 or 4 be worthwhile?

For backwards compatibility, Value=TIMER(0) would be identical to Value=TIMER,
while TIMER(n) could be specified for the additional ones.

Thanks

Phil
 
     Page 2 of 11    
Print this page
© JAQ Software 2024