view venus/src/periph/lcd_module.v @ 70:8bc2aa52fd23

manual RESET button new part: 260 g force, shorter actuator One of the main envisioned use cases for FC Venus is field demonstration: the board will be carried around, mounted on a sheet of acrylic or somesuch, it will have a battery and an antenna connected, there will be a test SIM with active service inserted, and the setup will be ready to demonstrate as a working phone at a moment's notice. But when a demo is not actively in progress, the fully assembled setup will be transported around in a big and loose ESD bag, and it will need to be equivalent to a traditional phone in its switched-off state: battery present, RTC keeping time, but not switched on all the time. Having a RESET button of the same keyswitch type as used for the regular keypad and PWON would cause a problem for such field transport scenarios: any spurious press of this button would cause a "misc boot" switch-on. Short spurious presses of PWON are filtered out by the firmware (automatic power-off if the button isn't held down long enough), but the same cannot be done for super-low-level nTESTRESET. However, a button with significantly greater operating force and a shorter actuator (not sticking out to the same height as the regular keypad buttons) should be much safer.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 02 Dec 2021 22:40:39 +0000
parents c247abb89302
children
line wrap: on
line source

module lcd_module (GND, VCI, IOVCC, DB, RD, WR, RS, CS, RESET, IM0, LEDA, LEDK);

input GND, VCI, IOVCC;
inout [15:0] DB;
input RD, WR, RS, CS, RESET, IM0;
input LEDA;
input [1:3] LEDK;

/* instantiate the package; the mapping of signals to pins is defined here */

lcd_module_fp pkg (.pin_1(DB[15]),
		   .pin_2(DB[14]),
		   .pin_3(DB[13]),
		   .pin_4(DB[12]),
		   .pin_5(DB[11]),
		   .pin_6(DB[10]),
		   .pin_7(DB[9]),
		   .pin_8(DB[8]),
		   .pin_9(GND),
		   .pin_10(DB[7]),
		   .pin_11(DB[6]),
		   .pin_12(DB[5]),
		   .pin_13(DB[4]),
		   .pin_14(DB[3]),
		   .pin_15(DB[2]),
		   .pin_16(DB[1]),
		   .pin_17(DB[0]),
		   .pin_18(IOVCC),
		   .pin_19(VCI),
		   .pin_20(RD),
		   .pin_21(WR),
		   .pin_22(RS),
		   .pin_23(CS),
		   .pin_24(RESET),
		   .pin_25(IM0),
		   .pin_26(GND),
		   .pin_27(LEDA),
		   .pin_28(LEDK[1]),
		   .pin_29(LEDK[2]),
		   .pin_30(LEDK[3]),
		   /* the remaining pins are NC */
		   .pin_31(),
		   .pin_32(),
		   .pin_33(),
		   .pin_34(),
		   .pin_35(),
		   .pin_36()
	);

endmodule