If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
.
Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
.
There simply is no "Happy Spam" If you do it you will disappear from this forum.
Yeah but the library/compiler need to reserve some variable to work to not interfer with your code... euh.. that's my understanding
support for 12 bit core is limited, and the real explanation can be found at the bottom of the folowiing page
http://www.melabs.com/support/12-bit.htm
so why 20-22... i don't know, seems hungry to me.. but, you have to deal with it.
We already heard something like that for 10F and bring some weird/nasty/dangerous/clever alternate solutions, some who remind...
http://www.picbasic.co.uk/forum/showthread.php?t=4789&
HTH
Last edited by mister_e; - 16th December 2007 at 23:41.
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
After converting all the IF statements like I suggested above, it did fit in RAM,
and it compiled to 313 WORDS.
mister_e,
Yours fit in RAM too, and compiled to 295 WORDS. (unexpected for Select Case)
You know what that means RIGHT?
Yup, this ain't over yet!
172 WORDS
However, omid_juve,Code:@ DEVICE WDT_OFF DEFINE NO_CLRWDT 1 ' Don't kick the Dog lowinput VAR GPIO.0 overtemprature VAR GPIO.1 overload VAR GPIO.2 outputpin VAR GPIO.3 green VAR GPIO.4 red VAR GPIO.5 FlashCount var byte FlashPattern var byte TRISIO = %000111 Start: If (lowinput=0) then IF (overload=0) then ; lowinput, overload, overtemprature if (overtemprature=0) then ; 000 outputpin = 0 FlashCount = 1 FlashPattern = %0001 ; ModeOK GOSUB FlashLEDs else ; 001 FlashCount = 5 FlashPattern = %0011 ; overtempraturemode gosub FlashLEDs outputpin = 1 endif else ; 010 if (overtemprature=0) then FlashCount = 2 FlashPattern = %1001 ; overloadmode gosub FlashLEDs outputpin =1 FlashCount = 7 gosub FlashLEDs outputpin =0 else ; 011 ; --- Action undefined --- endif endif else if (overload=0) then if (overtemprature=0) then ; 100 FlashCount = 5 FlashPattern = %1001 ; lowinputmode gosub FlashLEDs outputpin =1 else ; 101 ; --- Action undefined --- endif else ; 110 if (overtemprature=0) then FlashCount = 5 FlashPattern = %0011 ; overtempraturemode gosub FlashLEDs outputpin =1 else ; 111 ; --- Action undefined --- endif endif endif GOTO Start FlashLEDs: REPEAT green = FlashPattern.0 red = FlashPattern.1 Pause 500 green = FlashPattern.2 red = FlashPattern.3 Pause 500 FlashCount = FlashCount - 1 UNTIL (FlashCount = 0) return
There are 3 states that are not accounted for
lowinput=0 overload=1 overtemprature=1
lowinput=1 overload=0 overtemprature=0
lowinput=1 overload=1 overtemprature=1
It may be intentional. Maybe they aren't needed. But normally, unchecked states will cause havoc in your program.
If we knew what was supposed to happen in those states, I think mister_e ..., uh I mean, I could probably reduce it further.
DT
it a program for 24v to 12v converter that has 3 input 1.over temperature 2.low input 3.overload and we have 3 output that 2 of them is just indicator and one (outputpin)
is the output for controlling the output voltage according to the situation of inputs.
and just the modes that you saw in the program can occur .
thanks for all of your help. my problem is solved .
You know what that means RIGHT?
Yup, this ain't over yet!yup.. sounds like a challenge... 100% PBP??? Maybe doable... scratch, scratch...mmm...
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
12C508A's bad enough,
you want 100% PBP??? too?
Did you know it doesn't even have an overflow flag on timer0?
I didn't, Oi vey!
I had so much fun this time last year with what ended up as the 12-byte cylon scanner,
perhaps I'm a bit over zealous.
The OP is satisfied, and probably wouldn't use it anyways,
So even if the program size was only 83 words, like I have it now,
It'll never be used.
We need a real Optimization contest.
They're just too fun.
<br>
DT
yup, no eeprom either... so nothing interesting. Think it's like a 16F84A, 16C54... but in 8 pin package![]()
There's always place for an optimization contest, next time, no rules (pic, language etc etc )... agreed?
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Bookmarks