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 Beta 15
Page 3 of 4 | |||||
Author | Message | ||||
atmega8 Guru Joined: 19/11/2013 Location: GermanyPosts: 722 |
A device with a portpin that shows an Arrow pointing to the device is receiving data on this pin. So this pin RXD. An Arrow that directs out of The pin sends data on this pin, so its TXD. This IS also an industry standard for fibrechannel or SAS ports. Absolutely clear an logic. |
||||
bigmik Guru Joined: 20/06/2011 Location: AustraliaPosts: 2914 |
Hi viscomjim, This is probably because Geoff supplied a circuit that it completely clear and unambiguous. See the following Circuit from the manual. Not only did Geoff draw little arrows to show direction, he added text to emphasise it. Regards, Mick Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<< |
||||
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9308 |
Yes, I have to agree - the manual is superbly written. ...just like MMBasic. Smoke makes things work. When the smoke gets out, it stops! |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2350 |
how about having RxD and TxD pins auto-configure? upon startup, the micromite tries wiggling both pins, and the one that declines to be moved is set as being the keyboard input line from the terminal? btw, i am not being serious (although it would likely be doable). no matter what labelling convention is used, someone will be confused and/or be unhappy. the infallible only solution is a hot soldering iron at the ready and being prepared to swap over the lines early on in any diagnosis process. rob :-) |
||||
paceman Guru Joined: 07/10/2011 Location: AustraliaPosts: 1329 |
Rob, Geoff sent it all out by e-mail with the original betas, when he asked on TBS for people to help with the beta testing. If you e-mail him you should be set. At the moment the MicroMite is still not officially released - I guess Geoff is bringing it as far and bug-free as possible before the April Silicon Chip is published which will have an article from him. Greg Oh, also all the new betas and Manual versions are sent by him to the participants. Just received the April SC in the mail and there's nothing there so think it must be the May edition. |
||||
graynomad Senior Member Joined: 21/07/2010 Location: AustraliaPosts: 122 |
Yes I understand now, just getting up to speed on the board but from the little I've seen it looks like a better option than the Picaxe, not the least because (I gather) it's open source. Rob Gray, AKA the Graynomad, www.robgray.com |
||||
JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 3816 |
No, not open source. Best read Geoff's site for the details. John |
||||
graynomad Senior Member Joined: 21/07/2010 Location: AustraliaPosts: 122 |
Bugga, see that heading off into the distance, that's my interest Still I know Geoff got burnt before with OS. I tried that, couldn't find a single mention of the uMite board, but as has been mentioned it's not released yet so that makes sense. Rob Gray, AKA the Graynomad, www.robgray.com |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2350 |
the maximite source code is available on request to pretty much anyone, and i am expecting the same will apply to the micromite source code too. so i don't see why there should be any concerns - if you find a fault at some undefined future time, you can always just fix it yourself. the only real limitation is republishing the source code. if you need to redistribute a fixed .HEX file, this can be done as a binary diff file packaged with the original .HEX file easily enough. though i am quire sure that geoff will be happy to fix any bugs that are found for many years to come. if i were, for example, designing a major project using micromite basic, i would request a copy of the interpreter's source code and stash that away with my own (personal/private) design plans should i need to revisit the project. if i were distributing the project, i'd make sure a copy of the .HEX file was included (which i believe geoff is ok with) which would then be sufficient to allow others to recreate the complete project. geoff: you might wish to chime in. what things can folks NOT do with the micromite that are likely to pose any real limitation? rob :-) |
||||
MicroBlocks Guru Joined: 12/05/2012 Location: ThailandPosts: 2209 |
As I understand it,it was open source before. Then everyone started to make their own version and then 'bother' the original author for mistakes, differences, bug fixes etc. Open source has its own set of problems and it has most to do with the 'i know better/but don't want to support' people. I think Geoff found a good middle way. Microblocks. Build with logic. |
||||
paceman Guru Joined: 07/10/2011 Location: AustraliaPosts: 1329 |
Geoff wrote an article about it all - available on his website. Problems with Open Source |
||||
graynomad Senior Member Joined: 21/07/2010 Location: AustraliaPosts: 122 |
Good article and it seems the current arrangement is pretty fair and can certainly claim to be one of the "Open source" flavours. Maybe one of the CC licenses would be appropriate. Interestingly I recently looked into trade marking something I'm working on, I figured that it was too hard but in light of Geoff's experiences maybe not. One problem is that despite us all thinking our latest widget is going to take the world by storm the chances are it won't, so do you spend money on protection and not need it, or wind up needing it having not spent the money. Rob Gray, AKA the Graynomad, www.robgray.com |
||||
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9308 |
...the patent/trade-mark love triangle... Smoke makes things work. When the smoke gets out, it stops! |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3196 |
I plan to release the source under the same system as with the Maximite. Incidentally, the only restriction is that you do not redistribute the source or make modified versions of it available without asking first and I have never refused anyone who has asked. However, it will not be easy to recompile the Micromite source because I had to use a number of high level optimisations and they are only available in the full compiler which costs considerable $$$. The situation will be easier when the PIC32MX170 series becomes available. The only problem that I have found with this is that it costs a lot to register a trade mark. So you have to be sure that your "something" will be a hit. Geoff Geoff Graham - http://geoffg.net |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2350 |
a bug, perhaps. a new bug! the following code fragment fails abysmally: Function keypress(a)
Print "called" If keyvolt > 1.7 Then keypress = -1 Else If keyvolt < 0.140 Then keypress = 1 Else If keyvolt < 0.225 Then keypress = 4 Else If keyvolt < 0.330 Then keypress = 7 Else ... the error comes up at the line containing 0.140 (the previous different IF format was just to see the error pushed down to the next IF statement). the output is: called [30] If keyvolt < 0.140 Then keypress = 1 Else Error: Invalid syntax > i think that the problem is the interpreter being unhappy with keypress being assigned to withing a 1-line IF... THEN... ELSE statement without parameters to the function. ie, the interpreter is trying to call the function keypress, rather than assigning 1 to the returned value. there is also something wonky about creating and calling a function that has no arguments. i added the (a) to try and get around that. rob :-) |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3196 |
The problem is with the syntax that you used. You have a single line IF statement and the correct syntax is: IF <condition> THEN <statement> ELSE <statement>
But you have nothing after the ELSE. The interpreter is quite correctly saying "else what?" You should use the multiline version: If keyvolt < 0.140 Then keypress = 1 ElseIf keyvolt < 0.225 Then keypress = 4 ElseIf keyvolt < 0.330 Then keypress = 7 EndIf Standard Microsoft syntax, page 37 of the manual. Geoff Geoff Graham - http://geoffg.net |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2350 |
aha! i had just copied the syntax from page 37 as it was formatted: rob :-) |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2350 |
addendum: while the IF/THEN etc problem is solved, i still have to use the following code: Do Do key = keypress() Loop Until key <> -1 key = keypress() Print key, keyvolt ' Pause 100 Do key = keypress() Loop Until key = -1 Loop Function keypress If keyvolt > 1.7 Then keypress = -1 ElseIf keyvolt < 0.140 Then keypress = 1 ElseIf keyvolt < 0.225 Then keypress = 4 ' *** extra lines clipped out *** Else keypress = 23 EndIf End Function that is, when calling the function keypress i can not leave out the brackets (). is this correct? if the brackets are left out, the code within the function is never executed, but no error is raised - the function just returns zero. i'm also finding that reading an analog pin (pin 2) within a timer interrupt only works if the interrupt is called at a rate of 100ms or less. is this to be expected? does there need to be a delay between analog reads to allow the A/D converter to reset? cheers, rob :-) |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2350 |
addendum 2: the problems with reading the analog inputs can be circumvented by providing a 100k resistor to ground on the input. it seems that the micromite gets very unhappy with an analog input being read when said input is only loosely coupled to a fixed voltage (in my case a reverse-biased diode junction to Vcc). rob :-) |
||||
MicroBlocks Guru Joined: 12/05/2012 Location: ThailandPosts: 2209 |
@Robert a function always needs the () otherwise the name will be seen as a variable. The variable will be zero because it is never assigned a value. Microblocks. Build with logic. |
||||
Page 3 of 4 |
Print this page |