Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 03:43 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 : Firmware Wish List

     Page 8 of 14    
Author Message
Dinosaur

Guru

Joined: 12/08/2011
Location: Australia
Posts: 311
Posted: 05:48am 13 Aug 2011
Copy link to clipboard 
Print this post

Hi all

After reading this whole thread, I conclude that you can have all the features requested by converting to an existing compiler such as FreeBasic.

I don't know what the "Life" of this product (Maximite) is, but you will get more and more requests for features and changes. By the time it matures and something new takes over, someone has spent a lot of time converting, adding features and thus getting closer and closer to an existing compiler.
I raised a question on the FB forum where it was suggested that compiling with the -gen gcc option converts the program to a C source code, which can then be compiled with the pic32 compiler.See the result hereFreeBasic Form Thread
The great advantage is that it is open source, can be used with -lang qb to compile QuicBasic code.It is unfortunate the the FB C emitter is in it's infancy, otherwise I could have immediatly converted old programs to run on the Maximite.
As Don said in earlier posts, this is intended to create discussion, and not an informed conclusion on what is possible.

Regards
EDIT: Just doing a quick check, and found BCX is a Basic to C / C++ converter, but still trying to understand if the pic32 compiler handles Ansi C code.Edited by Dinosaur 2011-08-14
Regards
Hervey Bay Qld.
 
aargee
Senior Member

Joined: 21/08/2008
Location: Australia
Posts: 255
Posted: 10:01pm 14 Aug 2011
Copy link to clipboard 
Print this post

OK, two things for the wishlist...

#1. A toggle command, which toggles the output state of a pin. i.e. if the pin is low it goes high and vice versa. Syntax could be Toggle P, where P is the pin number.

A useful adjunct to this could be Toggle P,N where the pin P is toggled and held for N milliseconds, before toggling back. i.e. output a pulse.

#2. This wish may be already in the list, but if it has, it has been listed as Auto renumber which doesn't appear to be the same thing. An Auto command. When you type Auto, it starts off automatically numbering lines as you enter them. Maybe the same syntax as Renumber. i.e. Auto 100,10 will start at line 100 and increment by 10 every time you hit enter. To cancel, hit enter twice without inputting anything.

Thanks Geoff, for looking!

- Rob.

patiently waiting for serial support as well.
For crying out loud, all I wanted to do was flash this blasted LED.
 
BobDevries

Senior Member

Joined: 08/06/2011
Location: Australia
Posts: 266
Posted: 10:08pm 14 Aug 2011
Copy link to clipboard 
Print this post

Rob,

Surely you can very easily write code to do your TOGGLE command?

Try this:

IF PIN(x) = 0 THEN PIN(x) = 1 ELSE PIN(x) = 0

HTH

Regards,

Bob Devries
Dalby, QLD, Australia
 
aargee
Senior Member

Joined: 21/08/2008
Location: Australia
Posts: 255
Posted: 10:23pm 14 Aug 2011
Copy link to clipboard 
Print this post

That's true, Bob. But a toggle command would be a lot neater and clearer. I'm more after the adjunct as well - an active high or low pulse ability!!

It would be nice to be able to issue a command to go and fire off a 100mS pulse and the program could continue on.

- Rob.



For crying out loud, all I wanted to do was flash this blasted LED.
 
seco61
Senior Member

Joined: 15/06/2011
Location: Australia
Posts: 205
Posted: 10:29pm 14 Aug 2011
Copy link to clipboard 
Print this post

  BobDevries said  IF PIN(x) = 0 THEN PIN(x) = 1 ELSE PIN(x) = 0


Be aware that this will only work if the pin is defined as an open collector output - else the pin value can not be read and you will have to keep track of the pin state yourself.

But those commands do look simple to implement - maybe tonight.....

Regards

Gerard (vk3cg/vk3grs)
 
donmck

Guru

Joined: 09/06/2011
Location: Australia
Posts: 1313
Posted: 10:43pm 14 Aug 2011
Copy link to clipboard 
Print this post



Have added both to the wish list:

http://www.themaximitecomputer.com/wish-list-priority-level- poll/

Hopefully, I have clarified the difference in the wish list between Auto renumber and Auto input.

Cheers Don...
https://www.dontronics.com
 
James_From_Canb

Senior Member

Joined: 19/06/2011
Location: Australia
Posts: 265
Posted: 10:08am 15 Aug 2011
Copy link to clipboard 
Print this post

  seco61 said  
  BobDevries said  IF PIN(x) = 0 THEN PIN(x) = 1 ELSE PIN(x) = 0


Be aware that this will only work if the pin is defined as an open collector output - else the pin value can not be read and you will have to keep track of the pin state yourself.

But those commands do look simple to implement - maybe tonight.....



Or if you don't care what state the pin is in when you toggle it,
Pin(x) = NOT Pin(x)

James
My mind is aglow with whirling, transient nodes of thought careening through a cosmic vapor of invention.

Hedley Lamarr, Blazing Saddles (1974)
 
jman

Guru

Joined: 12/06/2011
Location: New Zealand
Posts: 711
Posted: 07:47am 16 Aug 2011
Copy link to clipboard 
Print this post

Hi All

I would like to see support for the 1wire devices
Maybe something like this (This is how PicBasic does it)

OWIn Pin, Mode, [Item{, Item...}]
OWOut Pin, Mode, [Item{, Item...}]

O Commands optionally send a reset pulse to the one-wire device and then reads or writes one or more bits or bytes of data from it, optionally ending with another reset pulse.

Mode specifies whether a reset is sent before and/or after the operation and
the size of the data items, either bit or byte.

OWOut Pin, Mode, [Item{, Item...}]


Mode bit number Effect
0 0 send reset pulse before data
1 1 send reset pulse after data
2 0 byte-sized data, 1 = bit-sized data

Regards

John
 
donmck

Guru

Joined: 09/06/2011
Location: Australia
Posts: 1313
Posted: 08:31am 16 Aug 2011
Copy link to clipboard 
Print this post


Thanks John, have added it:

http://www.themaximitecomputer.com/wish-list-priority-level- poll/

Cheers Don...
https://www.dontronics.com
 
boss

Senior Member

Joined: 19/08/2011
Location: Canada
Posts: 268
Posted: 04:57pm 18 Aug 2011
Copy link to clipboard 
Print this post

Hello from Canada,

my board (EV- btw. great work Don) had arrived a few days ago. It took me couple of days to arrange the box, connectors, then after a bit of testing, I upgraded FW from 2.4 to latest 2.5B and immediately experinced issues with SD. Otherwiswe the board runs like a charm. I saw the long wishlist and said "poor Geoff" to myself but most wishes are logical. I personaly have no particular wish right now, but I would like to reccomend either to make a synonym or replace the statement SETPIN pin,cfg, line with ONINT pin, cfg, line. It should increase the readability of the code significantly shouldn't it?
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2914
Posted: 08:17pm 18 Aug 2011
Copy link to clipboard 
Print this post

  boss said  

but I would like to reccomend either to make a synonym or replace the statement SETPIN pin,cfg, line with ONINT pin, cfg, line. It should increase the readability of the code significantly shouldn't it?


Hi Boss,

Sorry but in my opinion, as out of touch as that might be, ONINT would make no sense to me... I have never heard of that command and it would make the code less readable, to me anyway, than SETPIN..At least SETPIN tells me the pin is being setup.. ONINT tells me.. errr what does it tell me??

Regards,

Mick

PS, Have fun with your EV.

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

Senior Member

Joined: 19/08/2011
Location: Canada
Posts: 268
Posted: 08:46pm 18 Aug 2011
Copy link to clipboard 
Print this post

Hi Mick,

this statement is coming from ATMEL BASCOM a INTEL Basic-52, see :

http://avrhelp.mcselec.com/index.html

and what it tells to me - where interrupt service is located,

pin has no exclusivity to handle with interrupt, a cpu core mantains the interrupts and there exist many interrupts with no realation to particular pin. Should we have a different statement for such interrupt service?

And I suggest to make a synomym --> everyone can use form he likes more.

And it is really not important. It was just suugestion. Some poeple like me who came from DEC , ATMEL and INTEL world may appreciated it. But other maybe not.

With Regards
Bo
 
donmck

Guru

Joined: 09/06/2011
Location: Australia
Posts: 1313
Posted: 09:25pm 18 Aug 2011
Copy link to clipboard 
Print this post


Hi Boss, glad the EV is working out for you, and the list of compatible SD cards can be seen at:

http://www.themaximitecomputer.com/maximite-control/

Re the addition to the wish list. More than happy to add anything members want added. If others feel strongly about the wish being added, they have the opportunity to vote on it.

Biggest problem for me is wording the text into a single wish line.

Have a look at the current wishes at:

http://www.themaximitecomputer.com/wish-list-priority-level- poll/

Cheers Don...
https://www.dontronics.com
 
boss

Senior Member

Joined: 19/08/2011
Location: Canada
Posts: 268
Posted: 10:52pm 18 Aug 2011
Copy link to clipboard 
Print this post

Hi Don,

The problem with SD seems to be in FW. Under 2.4 everything was working fine. I spent most of the weekend with testing and there was no problem at all. After upgrading to 2.5B my SD said it was corrupted. But W7 and Lion were fine with it. After SD was "killdisked", the card was fine again. BASIC was reading and writing on it but only until I disconnected the power. When the power was on again, the card said OK but "files" didn't report any file. For testing purposes on Lion I removed the card and reinserted again and BINGO--the card was working fine again. The card is 4gb SUNDISK. The 1GB SUNDISK behaves the same way.

Any Idea?

Regards
Bo
 
donmck

Guru

Joined: 09/06/2011
Location: Australia
Posts: 1313
Posted: 10:59pm 18 Aug 2011
Copy link to clipboard 
Print this post

  boss said   Hi Don,

The problem with SD seems to be in FW. Under 2.4 everything was working fine. I spent most of the weekend with testing and there was no problem at all. After upgrading to 2.5B my SD said it was corrupted. But W7 and Lion were fine with it. After SD was "killdisked", the card was fine again. BASIC was reading and writing on it but only until I disconnected the power. When the power was on again, the card said OK but "files" didn't report any file. For testing purposes on Lion I removed the card and reinserted again and BINGO--the card was working fine again. The card is 4gb SUNDISK. The 1GB SUNDISK behaves the same way.

Any Idea?

Regards
Bo


Bo, Have you read the bottom of:

http://www.themaximitecomputer.com/maximite-control/

I found a weakly powered hub gave a problem with the SD card.

Cheers Don...
https://www.dontronics.com
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2914
Posted: 11:12pm 18 Aug 2011
Copy link to clipboard 
Print this post

  boss said   Hi Mick,

this statement is coming from ATMEL BASCOM a INTEL Basic-52, see :

http://avrhelp.mcselec.com/index.html

and what it tells to me - where interrupt service is located,



Gday Bo,

Ok I see where that came from, I personally have only experience with TRS-80 basic and a couple of PC basics (Power Basic my favourite). Of course these dont support either of these commands as they werent designed to toggle pins etc but were for a PC application.. In our use the Maximite is much more in that we can do real things and use it as a micro CONTROLLER which means new commands need to be formed and I can now see the validity of your suggestion... initially ONINT didnt stick out to me (it looked more like the sound a pig makes) but now it breaks down to OnInt-errupt, it is making sense to me,.. Please excuse me it was just after 6am and I was looking forward (not!!) to another 58km trip through traffic jams (average time to travel is 1.5hrs).

Regards,

Mick

PS I like your `light Bulb' Avatar Edited by bigmik 2011-08-20
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
boss

Senior Member

Joined: 19/08/2011
Location: Canada
Posts: 268
Posted: 11:53pm 18 Aug 2011
Copy link to clipboard 
Print this post

Hello Mick,

that's OK, I'm oldtimer even older than you and I spent my best years with 16bit PDP-11 and PDP (czech an russian) clone computers- then 32 bit VAX VMS and finaly 64ALPHA. All 16 bit OS and SW were specially designed for real time control ( and even very very fast processes). So everythig was controlled by INTerrupt and I have statement INT respective ONINTx burned in my brain.

Unfortunatelly I am not a programmer, BASIC, PASCAL and ASSEMBLER are the right tools for me. I like MAXIMITE project but it depends on community members colaboration. If I can compare the MAXIMITE and an OLDies HW configuration isvery similar to PDP11/04 (except DK11 - disk cartridge - with 2.5MB capacity-wow!!!!!).

Regards
Bo

 
haiqu

Senior Member

Joined: 30/07/2011
Location: Australia
Posts: 152
Posted: 07:24am 19 Aug 2011
Copy link to clipboard 
Print this post

Bo,

I used to repair those removable cartridge HDDs for a living, and Shugart 8" floppy drives. Those were the days. My proudest achievement was restoring a Wang 1200 series word processor (wirecore memory, cassette decks and running an IBM Golfball typewriter as I/O). Beautiful machine.

Hey, here's a laugh ... the 2.11BSD I just ported has code support still included for 1980's tape drives!

Rob



unzip, strip, touch, finger, grep, mount, fsck, more, yes, fsck, fsck, fsck, umount, sleep
 
Bob

Regular Member

Joined: 11/08/2011
Location: United Kingdom
Posts: 41
Posted: 09:07am 19 Aug 2011
Copy link to clipboard 
Print this post

Here's another wish; PWM Outputs:

At present we have all manner of logic I/O, I2C, etc but there is no way to get ANALOGUE OUTPUT or control of items without adding relatively expensive DACs, e.g. I2C chips.

My wish-list item is for the 2 PWM channels that appear on unconnected pins to be used for PWM output (Output Compare 1, pin 46, and Output Compare 4, pin 51). The other 2 are on pins that are already committed.

It is not difficult to add connections to the unconnected pins for this purpose, if one wishes to use PWM - if not, don't bother <g>.

By having the "raw" digital PWM output, we could use an averager (RC) to obtain an analogue signal, or directly drive an output stage (e.g. a motor driver). OK, the analogue produced would have the 3.3v supply as reference, but this is how the analogue input channels work anyway, so is just as OK.

Bob
Bob Dalley
http://www.m0rjd.co.uk
 
seco61
Senior Member

Joined: 15/06/2011
Location: Australia
Posts: 205
Posted: 12:24pm 19 Aug 2011
Copy link to clipboard 
Print this post

  Bob said   Here's another wish; PWM Outputs:

At present we have all manner of logic I/O, I2C, etc but there is no way to get ANALOGUE OUTPUT or control of items without adding relatively expensive DACs, e.g. I2C chips.

My wish-list item is for the 2 PWM channels that appear on unconnected pins to be used for PWM output (Output Compare 1, pin 46, and Output Compare 4, pin 51). The other 2 are on pins that are already committed.

It is not difficult to add connections to the unconnected pins for this purpose, if one wishes to use PWM - if not, don't bother <g>.

By having the "raw" digital PWM output, we could use an averager (RC) to obtain an analogue signal, or directly drive an output stage (e.g. a motor driver). OK, the analogue produced would have the 3.3v supply as reference, but this is how the analogue input channels work anyway, so is just as OK.

Bob


Hi Bob.

The firmware I posted in this thread has this support - I have passed it along to Geoff for consideration. Be aware that as Timer 3 is in use, I only have Timer 2 available as a source for the 2 PWM outputs - so they both run at the same frequency. Of course the duty cycle can be different for both.

Regards

Gerard (vk3cg/vk3grs)
 
     Page 8 of 14    
Print this page
© JAQ Software 2024