Disabled cursor blinking, added cursor repositioning hack. Display works now.
This commit is contained in:
@@ -191,7 +191,7 @@ begin
|
||||
lcd_newchar_next <= '1';
|
||||
else
|
||||
charcnt_next <= (others => '0');
|
||||
lcd_data_next <= x"C0";
|
||||
lcd_data_next <= x"40"; --Start adress for line 2
|
||||
lcd_newpos_next <= '1';
|
||||
ret_state_next <= S_FREQ_PREF;
|
||||
end if;
|
||||
@@ -213,14 +213,14 @@ begin
|
||||
ret_state_next <= S_FORM_CONT;
|
||||
charcnt_next <= charcnt_reg + 1;
|
||||
if(charcnt_reg < 1 ) then
|
||||
lcd_data_next <= x"86";
|
||||
lcd_data_next <= x"06"; --adress character 7 on line 1
|
||||
lcd_newpos_next <= '1';
|
||||
elsif(charcnt_reg < 9) then
|
||||
lcd_data_next <= to_unsigned(character'pos(str_form(to_integer(form),to_integer(resize(charcnt_reg-1,3)))),8);
|
||||
lcd_newchar_next <= '1';
|
||||
else
|
||||
charcnt_next <= (others => '0');
|
||||
lcd_data_next <= x"4A" - digpos_reg;
|
||||
lcd_data_next <= x"4A" - digpos_reg; -- adress character 11 on line 2 - digit position
|
||||
lcd_newpos_next <= '1';
|
||||
ret_state_next <= S_IDLE;
|
||||
end if;
|
||||
@@ -229,13 +229,18 @@ begin
|
||||
if(charcnt_reg < 1 ) then
|
||||
charcnt_next <= charcnt_reg + 1;
|
||||
ret_state_next <= S_FREQ_CONT;
|
||||
lcd_data_next <= x"4A" - digpos_reg;
|
||||
lcd_data_next <= x"4A" - digpos_reg; -- adress character 11 on line 2 - digit position
|
||||
lcd_newpos_next <= '1';
|
||||
else
|
||||
ret_state_next <= S_IDLE;
|
||||
charcnt_next <= (others => '0');
|
||||
elsif(charcnt_reg = 1) then
|
||||
charcnt_next <= charcnt_reg + 1;
|
||||
ret_state_next <= S_FREQ_CONT;
|
||||
lcd_data_next <= to_unsigned(character'pos('0'),8) + digit_reg(to_integer(digpos_reg));
|
||||
lcd_newchar_next <= '1';
|
||||
else
|
||||
ret_state_next <= S_IDLE;
|
||||
charcnt_next <= (others => '0');
|
||||
lcd_data_next <= x"4A" - digpos_reg; -- adress character 11 on line 2 - digit position
|
||||
lcd_newpos_next <= '1';
|
||||
end if;
|
||||
when S_IDLE =>
|
||||
btn_old_next <= enc_btn;
|
||||
|
||||
@@ -69,7 +69,6 @@ architecture Behavioral of lcd_driver is
|
||||
SEND_SD, -- send the display ON/OFF control
|
||||
SEND_CD, -- send a clear
|
||||
SEND_ES, -- send entry mode set
|
||||
SEND_ADRESS, -- send a new adress
|
||||
WAITING1, -- wait and toggle lcd_en
|
||||
WAITING2, -- wait and toggle lcd_en
|
||||
WAITING3, -- wait and toggle lcd_en
|
||||
@@ -178,7 +177,7 @@ begin
|
||||
|
||||
when SEND_SD => -- display ON/OFF setting
|
||||
|
||||
next_lcd_db <= "00001111";
|
||||
next_lcd_db <= "00001110";
|
||||
next_lcd_en <= '1';
|
||||
next_lcd_rs <= '0';
|
||||
|
||||
@@ -208,18 +207,7 @@ begin
|
||||
next_ret_state <= DONE;
|
||||
next_ret_counter <= to_unsigned(PAUSE_COUNT,NBITS);
|
||||
next_state <= WAITING1;
|
||||
|
||||
when SEND_ADRESS => -- entry set mode
|
||||
|
||||
next_lcd_db <= '1' & data(6 downto 0);
|
||||
next_lcd_en <= '1';
|
||||
next_lcd_rs <= '0';
|
||||
|
||||
next_counter <= (others => '0');
|
||||
next_ret_state <= DONE;
|
||||
next_ret_counter <= to_unsigned(PAUSE_COUNT,NBITS);
|
||||
next_state <= WAITING1;
|
||||
|
||||
|
||||
when DONE => -- initialization done
|
||||
|
||||
next_lcd_db <= "00000000";
|
||||
@@ -227,19 +215,18 @@ begin
|
||||
next_lcd_rs <= '0';
|
||||
|
||||
if(new_character = '1') then -- send data
|
||||
next_ret_state <= DONE;
|
||||
next_state <= WAITING1;
|
||||
next_lcd_rs <= '1';
|
||||
next_counter <= (others => '0');
|
||||
next_ret_state <= DONE;
|
||||
next_ret_counter <= to_unsigned(PAUSE_COUNT,NBITS);
|
||||
next_state <= WAITING1;
|
||||
next_ret_counter <= to_unsigned(PAUSE_COUNT,NBITS);
|
||||
next_lcd_db <= data;
|
||||
elsif(new_pos = '1') then -- new address
|
||||
next_lcd_rs <= '0';
|
||||
next_state <= WAITING1;
|
||||
next_ret_state <= DONE;
|
||||
next_lcd_db <= '1' & data(6 downto 0);
|
||||
next_counter <= (others => '0');
|
||||
next_ret_state <= SEND_ADRESS;
|
||||
next_ret_counter <= to_unsigned(PAUSE_COUNT,NBITS);
|
||||
next_state <= WAITING1;
|
||||
next_lcd_db <= "000001" & data(7) & '0';
|
||||
end if;
|
||||
|
||||
when WAITING1 => -- wait with jump
|
||||
|
||||
Reference in New Issue
Block a user