本帖最后由 mybabyson617 于 2014-2-16 16:38 编辑
在lisai9093 版主的耐心解答下,现在能正常显示电池电量了. 先以And (BDC0, 0xFFFF,Local0)为例,说明解决方法 找到BDC0的定义 BDC0, 32, 说明我的是32位的,需要拆分成如下: - //原来的定义要注释掉啊
- //BDC0, 32,
- SDC0, 8,
- SDC1, 8,
- SDC2, 8,
- SDC3, 8,
复制代码
在DTDG函数下方(,即DTDG右大括号下边,不是在DTDG函数内)自定义一个函数 - Method (B1B4, 4, NotSerialized)
- {
- Or (ShiftLeft (Arg1, 0x08), Arg0, Local0)
- Or (ShiftLeft (Arg2, 0x10), Local0, Local0)
- Or (ShiftLeft (Arg3, 0x18), Local0, Local0)
- Return (Local0)
- }
复制代码
将And (BDC0, 0xFFFF,Local0)改成这个样子: And (B1B4 (SDC0, SDC1, SDC2, SDC3), 0xFFFF, Local0) 全部改完之后是这个样子的: - Method (UPBI, 0, NotSerialized)
- {
- If (BAT0)
- {
- And (B1B4 (SDC0, SDC1, SDC2, SDC3), 0xFFFF, Local0)
- Store (Local0, Index (PBIF, One))
- And (B1B4 (SFC0, SFC1, SFC2, SFC3), 0xFFFF, Local0)
- Store (Local0, Index (PBIF, 0x02))
- And (B1B4 (SDV0, SDV1, SDV2, SDV3), 0xFFFF, Local0)
- Store (Local0, Index (PBIF, 0x04))
- And (B1B4 (SCW0, SCW1, SCW2, SCW3), 0xFFFF, Local0)
- Store (Local0, Index (PBIF, 0x05))
- And (B1B4 (SCL0, SCL1, SCL2, SCL3), 0xFFFF, Local0)
- Store (Local0, Index (PBIF, 0x06))
- Store ("BAT", Index (PBIF, 0x09))
- Store ("0001", Index (PBIF, 0x0A))
- Store ("LION", Index (PBIF, 0x0B))
- Store ("NOTEBOOK", Index (PBIF, 0x0C))
- }
- Else
- {
- IVBI ()
- }
- }
复制代码
- Method (UPBS, 0, NotSerialized)
- {
- If (BAT0)
- {
- Store (Zero, Local0)
- Store (Zero, Local1)
- If (ADP)
- {
- If (LEqual (And (B1B4 (SST0, SST1, SST2, SST3), 0x02),
- 0x02))
- {
- Or (Local0, 0x02, Local0)
- And (B1B4 (SPR0, SPR1, SPR2, SPR3), 0xFFFF, Local1)
- }
- }
- Else
- {
- Or (Local0, One, Local0)
- And (B1B4 (SPR0, SPR1, SPR2, SPR3), 0xFFFF, Local1)
- }
- And (Local1, 0x8000, Local7)
- If (LEqual (Local7, 0x8000))
- {
- Store (0xFFFFFFFF, Local1)
- }
- And (B1B4 (SRC0, SRC1, SRC2, SRC3), 0xFFFF, Local2)
- And (B1B4 (SPV0, SPV1, SPV2, SPV3), 0xFFFF, Local3)
- Store (Local0, Index (PBST, Zero))
- Store (Local1, Index (PBST, One))
- Store (Local2, Index (PBST, 0x02))
- Store (Local3, Index (PBST, 0x03))
- }
- Else
- {
- IVBS ()
- }
- }
复制代码
编译后还有2个错误,同样的方法,修改下就可以了
电池显示成功后的截图:
|