private void UpdateAudioLedMode2(LedMode audioLedMode) { IT87Enter(RegisterPort); Select(RegisterPort, ValuePort, 7); byte b = ReadByte(RegisterPort, ValuePort, 251); byte b2 = ReadByte(RegisterPort, ValuePort, 202); b2 = (byte)(b2 | 0x20); WriteByte(RegisterPort, ValuePort, 202, b2); byte b4 = InvkYcc.gb_inp((uint)(GpioAddress + 2)); byte b3 = ReadByte(RegisterPort, ValuePort, 210); byte b5 = ReadByte(RegisterPort, ValuePort, 208); switch (audioLedMode) { case LedMode.Off: b3 = (byte)(b3 | 0x20); WriteByte(RegisterPort, ValuePort, 210, b3); b5 = (byte)(b5 & 0xDF); b4 = (byte)(b4 & 0xDF); b = (byte)(b & 0x6F); break; case LedMode.Still: b3 = (byte)(b3 | 0x20); WriteByte(RegisterPort, ValuePort, 210, b3); b5 = (byte)(b5 | 0x20); b4 = (byte)(b4 & 0xDF); b = (byte)(b & 0x6F); break; case LedMode.Breath: b3 = (byte)(b3 | 0x20); WriteByte(RegisterPort, ValuePort, 210, b3); b5 = (byte)(b5 | 0x20); b4 = (byte)(b4 & 0xDF); b = (byte)(b | 0x90); break; case LedMode.Beat: b3 = (byte)(b3 | 0x20); WriteByte(RegisterPort, ValuePort, 210, b3); b5 = (byte)(b5 | 0x20); b4 = (byte)(b4 | 0x20); b = (byte)(b & 0x6F); break; } WriteByte(RegisterPort, ValuePort, 208, b5); InvkYcc.gb_outp((uint)(GpioAddress + 2), b4); WriteByte(RegisterPort, ValuePort, 251, b); IT87Exit(RegisterPort, ValuePort); }
protected bool WriteByte(byte register, byte value) { InvkYcc.gb_outp(AddressRegister, register); InvkYcc.gb_outp(DataRegister, value); if (chip == Chip.IT8688) { return(true); } return(register == InvkYcc.gb_inp(AddressRegister)); }
public void CtrlGPIO2X(int gp20, int gp21, int gp22) { IT87Enter(RegisterPort); Select(RegisterPort, ValuePort, 7); byte b = ReadByte(RegisterPort, ValuePort, 201); b = (byte)(b | 7); WriteByte(RegisterPort, ValuePort, 201, b); IT87Exit(RegisterPort, ValuePort); byte b2 = InvkYcc.gb_inp((uint)(GpioAddress + 1)); b2 = ((gp22 != 1) ? ((byte)(b2 & 0xFB)) : ((byte)(b2 | 4))); b2 = ((gp21 != 1) ? ((byte)(b2 & 0xFD)) : ((byte)(b2 | 2))); b2 = ((gp20 != 1) ? ((byte)(b2 & 0xFE)) : ((byte)(b2 | 1))); InvkYcc.gb_outp((uint)(GpioAddress + 1), b2); }
protected byte ReadByte(byte register, out bool valid) { InvkYcc.gb_outp(AddressRegister, register); byte result = InvkYcc.gb_inp(DataRegister); if (chip == Chip.IT8688) { valid = true; } else { valid = register == InvkYcc.gb_inp(AddressRegister); } return(result); }
protected byte ReadByte(ushort registerPort, ushort valuePort, byte register) { InvkYcc.gb_outp(registerPort, register); return(InvkYcc.gb_inp(valuePort)); }