diff options
Diffstat (limited to 'src/DSi_Camera.h')
-rw-r--r-- | src/DSi_Camera.h | 41 |
1 files changed, 35 insertions, 6 deletions
diff --git a/src/DSi_Camera.h b/src/DSi_Camera.h index 844a4d2..108d76a 100644 --- a/src/DSi_Camera.h +++ b/src/DSi_Camera.h @@ -28,27 +28,56 @@ public: static void DeInit(); static void Reset(); + static void IRQ(u32 param); + static void RequestFrame(u32 cam); + + static void Transfer(u32 pos); + DSi_Camera(u32 num); ~DSi_Camera(); void ResetCam(); + bool IsActivated(); - void Start(); - u8 Read(bool last); - void Write(u8 val, bool last); + void I2C_Start(); + u8 I2C_Read(bool last); + void I2C_Write(u8 val, bool last); + + static u8 Read8(u32 addr); + static u16 Read16(u32 addr); + static u32 Read32(u32 addr); + static void Write8(u32 addr, u8 val); + static void Write16(u32 addr, u16 val); + static void Write32(u32 addr, u32 val); -private: u32 Num; +private: u32 DataPos; u32 RegAddr; u16 RegData; - u16 ReadReg(u16 addr); - void WriteReg(u16 addr, u16 val); + u16 I2C_ReadReg(u16 addr); + void I2C_WriteReg(u16 addr, u16 val); + u16 PLLDiv; + u16 PLLPDiv; u16 PLLCnt; + u16 ClocksCnt; u16 StandbyCnt; + u16 MiscCnt; + + u16 MCUAddr; + u16* MCUData; + + u8 MCURegs[0x8000]; + + static u16 ModuleCnt; + static u16 Cnt; + + static u8 FrameBuffer[640*480*4]; + static u32 TransferPos; + static u32 FrameLength; }; |