When you are using Low Speed mode, the component will be using the 32KHz ILO clock internally. In the configurator, you need to set the LCD mode to Low Speed and you are good to go. Calling <LCD_Seg>_Start basically does everything for you and sets the LCD to operate in Low Speed mode.
In the Clocks tab, ensure that ILO is enabled in the Low Frequency Clocks tab and that LFClk is set to ILO.
If you are looking at switching between the High Speed and Low Speed modes during run time, you can make use of LCD_Seg_SetSpeedMode(uint32 mode).
Note that the recommended input frequency for the hs_clk is in the MHz range. So setting it to 100K will cause the component to not work properly.
Please attach your project if the issue persists.
Hi Dheeraj, thanks for your reply. I checked that ILO is enabled in the Low Frequency Clocks tab and that LFClk is set to ILO. But the LCD still doesn't work, with all icons displayed. I've attached the project and the MECHANICAL SPECIFICATIONS of the LCD. Please check.
Please note that if changing to use high speed mode, the right icon is displayed correctly in LCD.
The PWM Driving mode of segment LCD requires external series resistors for the low speed ILO based operation, for filtering the PWM waveform (whereas for MHz frequencies the intrinsic resistance of the ITO traces and pin drive impedance is sufficient)
This is mentioned in page 33 of the PSoC4 SegLCD component datasheet https://www.cypress.com/file/220341/download
"In order to drive a low capacitance display with acceptable ripple and rise/fall time using a 32 kHz PWM an additional external series resistance of 100 k - 1 M ohm is required. External Resistors are not required for PWM frequencies of greater than ~1 MHz."
The Digital correlation method does not seem to require external resistors. However the contrast achieved in digital correlation mode is lesser than the PWM driving mode. Does the digital correlation mode look fine on your LCD with the MHz clock(1-3 MHz) ?