Re: some questions concerning the ZM-1350 Firmware
- Hi Chris,
I just checked my power supply for how long it holds the voltage after switching off.
Voltage is down to zero after about 1...2 seconds, so this can't be the reason for the failure in enumeration.
When I just tried again to reproduce the error I couldn't get the wrong enumeration to show up again. Strange.
I will observe under what conditions the enumeration-failure shows up again and if it can be eliminated by setting the brown-out detection bits.
Concerning the MCLR-pin:
As I understand the datasheet of the PIC correctly, there is an internal pullup-resistor if MCLR is programmed as MCLR.
It says in Section 22.214.171.124:
"The RA3/MCLR/VPP pin is configurable to function as one
of the following:
a general purpose input
as Master Clear Reset with weak pull-up"
But in Section 14.1 of the datasheet it says about the configuration bits:
MCLRE: MCLR Pin Function Select bit(4)
1 = MCLR pin function is MCLR
0 = MCLR pin function is digital input, MCLR internally tied to VDD
So this is quite confusing.
So the 10k-Resistor to Vdd is probably just for keeping the logic-level safely to Vdd in case of stray voltage?
Anyway the MCLR-function is necessary for low-voltage programming, isn't it?
I understand through your explanation that it will probably not be possible to use this pin for the serial input to make another pin available for an additional output.
So we have to live with 14 segments+underscore without adding additional additional hardware as I have build for the decimal point.
The ZM 1350 definitely does have (additional to the underscore) a true decimal point on the left side.
It's more like a little vertical comma.
The keep-alive cathode in contrast is on the right side.
Both are described in the datasheet which we have here in files section.
On the pc-board (made by Guus and made available by Jan at www.askjanfirst.de) there even is the right cathode-resistor for it.
Only the MPSA-43 transistor didn't make it to the pc-board :-)
I have a small low-quality movie of the display working (with only 11 of the 12 digits in place due to one broken display).
There You can see the decimal point "in action".
But I don't know how to send an attachment or how to place it in the files section.
- I'm glad you've resolved the enumeration failure issue. that was a piece of trouble to get working originally.
For MCLR, I wasn't aware that the 16F690 had an internal pullup. I probably read it but failed to digest because i new i didn't need that function. The previous pics I have worked with have no internal pullup and I assumed that this one followed suit.
I stand corrected over my mistake regarding the existence of the decimal point. Looking at the lack of IO I think my preference must have been for activating the underscore rather than the DP . As you have seen there is one pin too few with the 16F690 for both. I had to dig out a ZM1350 to check this out ! Well done with your workaround solution anyway.
The next size of micro up is 28 pin. Maybe someone wants to go there ? An SMD part would probably fit quite well with few alterations.