You saved me from bad troubleshooting then. By the way i was wondering if its possible to simulate the 128X64 LCD used in this device as a VSM proteus project.
I looked for it into the web but no luck. It would be nice approach to this thread.
IIRC, the Z180SN009 is based on the ST7735S. That controller supports up to 132x162 dots but the LCDs are 128x160 usually. A 128x160 LCD module could be wired starting at different addresses. Additionally the ST7735S has three pins for setting the LCD's resolution to either 132x162 or 128x160 which implies a specific wiring offset (moved to the mid). Maybe there are 128x160 modules wired starting at 1x1 but set to 132x162. When directions are flipped we'd get offset problems. So we need an option to shift x and y by the module specific offsets to cope with all the possible variations. And there's still the issue with the additional MCU controlling some important signals. Does anyone like to sponsor a TC-1 for reverse engineering and testing?
No, the STE2007 isn't supported. But based on the datasheet it shouldn't be hard to write a driver.
#elif (LCD_ST_TYPE == 2007) /* not ((LCD_ST_TYPE == 7565 || 1306 || 7108 || 7920 || 8812 || 8814) */
// support for STE2007 , used for Nokia 1202
#undef SCREEN_WIDTH
#define SCREEN_WIDTH 96 /* for STE2007 */
#undef SCREEN_HEIGHT
#define SCREEN_HEIGHT 68
//LCD-commands
#define CMD_SET_ADC_NORMAL 0xA0 //? Segment Driver direction select ?? 8.7 //
#define CMD_SET_ADC_REVERSE 0xA1 //?
#define CMD_SET_DISP_NORMAL 0xA6 /* Display normal / reverse, see 8.2 */
#define CMD_SET_DISP_REVERSE 0xA7 /* ** */
#define CMD_SET_BIAS_9 0xA2 //? Bias Ratio, see 8.17 //
#define CMD_SET_BIAS_7 0xA3 //? ? //
//? #define CMD_RMW 0xE0
//? #define CMD_RMW_CLEAR 0xEE
#define CMD_INTERNAL_RESET 0xE2 /* Reset, see 8.14 */
#define CMD_SET_RESISTOR_RATIO 0x20 //? ? //
#define CMD_SET_VOLUME_FIRST 0x81 /* Electronic volume, see 8.12.3 */
//? #define CMD_SET_VOP_UPPER 0x20 /* upper 3 bits of Vop */ // The Set VOP instruction is used for programming the LCD drive voltage
//? #define CMD_SET_VOP_LOWER 0x80 /* lower 5 bits of Vop */ // not present in 2007
#define CMD_SET_ALLPTS_NORMAL 0xA4 /* Normal Display Mode see 8.3 */
#define CMD_SET_ALLPTS_ON 0xA5 /* Display all points ON/OFF, see 8.3 */
#define CMD_SET_POWER_CONTROL 0x2F /* Booster : ON, Voltage regulator : ON, Voltage follower : ON, see 8.11 */
#define CMD_SET_COM_NORMAL 0xC0 // ?
#define CMD_SET_COM_REVERSE 0xC8 // ?
#define CMD_DISPLAY_OFF 0xAE /* Display OFF see 8.1 */
#define CMD_DISPLAY_ON 0xAF /* Display ON see 8.1 */
#define CMD_SET_PAGE 0xB0 /* Page address set see 8.4 */
#define CMD_SET_START_LINE 0x40 /* Display start line address set 8.6 */
#define CMD_SET_COLUMN_UPPER 0x10 // ?
#define CMD_SET_COLUMN_LOWER 0x00 // ?
//Macros for LCD
#define lcd_write_data(data) _lcd_hw_write(0x01, data);
#define lcd_cursor_on() // ignored
#define lcd_cursor_off() // ignored
//LCD-commands
#define CMD_SET_ADC_NORMAL 0xA0 //? Segment Driver direction select ?? 8.7 //
#define CMD_SET_ADC_REVERSE 0xA1 //?
#define CMD_SET_BIAS_9 0xA2 //? Bias Ratio, see 8.17 //
#define CMD_SET_BIAS_7 0xA3 //? ? //
//? #define CMD_RMW 0xE0
//? #define CMD_RMW_CLEAR 0xEE
#define CMD_SET_RESISTOR_RATIO 0x20 //? ? //
//? #define CMD_SET_VOP_UPPER 0x20 /* upper 3 bits of Vop */ // The Set VOP instruction is used for programming the LCD drive voltage
//? #define CMD_SET_VOP_LOWER 0x80 /* lower 5 bits of Vop */ // not present in 2007
#define CMD_SET_COM_NORMAL 0xC0 // ?
#define CMD_SET_COM_REVERSE 0xC8 // ?
#define CMD_SET_COLUMN_UPPER 0x10 // ?
#define CMD_SET_COLUMN_LOWER 0x00 // ?
I bought 2 of the attached tester and installed the M version on one and the K version on the other. The one with the K version burnt the chip (v05 - diode array) and then the main chip. Should I be modifying it to use the K version? Also, with the M version, if there is nothing in the tester it gives me a reading of a capacitor of 15 pf, but seems to work ok otherwise.
A few users with the kit version of your tester had problems with the placement of the SRV05-4. When reversed the internal TVS diode will short Vcc to ground. Since it's an optional (weak) input protection the tester will also work without it. After programming the firmware please run the self-adjustment and the 15pF issue will vanish.
here i tried to fiddle with the code but dont understand some of the variablesCode: [Select]//? #define CMD_RMW 0xE0
//? #define CMD_RMW_CLEAR 0xEE
need help with thesesCode: [Select]//? #define CMD_SET_VOP_UPPER 0x20 /* upper 3 bits of Vop */ // The Set VOP instruction is used for programming the LCD drive voltage
//? #define CMD_SET_VOP_LOWER 0x80 /* lower 5 bits of Vop */ // not present in 2007
lcd_command(CMD_SET_VOP_UPPER | ((volume >> 5) & 0x07)); // set upper Vop
lcd_command(CMD_SET_VOP_LOWER | (volume & 0x1f)); // set lower Vop
it's obvious that the ST8814 has two commands to set an 8 bit contrast value, i.e. one for the upper 5 bits and another for the lower 3 bits. The STE2007 has the same commands.
We've discussed rotary encoders and alternative push buttons just one page ago
Yep, the self-adjustment results need to be saved manually (menu item 'Save', choose profile #1). Please see the README file!
We've discussed rotary encoders and alternative push buttons just one page ago
Yes, after a better search i found it. Now i put the rotary encoder and the device is working like a charm!
Thank you all for help
As i try to calibrate the device, i did all the necessary steps to do it but no luck. I do have a working device with original Chinese firmware. Is it any possibility to read this original firmware came with device LCR T3 with 128X64 lcd display? I have a TL866A programmer.
I need to put both the .hex and the .eep file as well.
TIA
First major problem was that the evaluation board that arrived with the USBasp adapter and cable is too large for the 328
I'm not sure I understand. Can you show a picture?
Sorry I can't comprehend what you're saying. There's just too much. One thing at a time please, and in simple terms.
You're having trouble connecting a cable to a board?
A chip to a socket?
A photo of YOUR setup would really help here.
The problem is the Zif connector on the development/evaluation board is not compatible with Atmega328 and so I am asking what other cheap Atmega328 compatible board I could use with the USBasp programmer and cable.
OK Got it now. The socket is 21 pin but the 328 has 28 pins.
Just find the right board for the 328 on eBay. They're only a buck or two.
If you don't want to wait, maybe you chop the end off the zif socket that you already have to make it work. There's only 5 pins that you really need anyway.