mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-03 16:39:01 -06:00 
			
		
		
		
	Services/Cam: Added new log type and camera enums from 3dbrew.
Followup to #1102 Original author @mailwl
This commit is contained in:
		@@ -10,6 +10,162 @@
 | 
			
		||||
namespace Service {
 | 
			
		||||
namespace CAM {
 | 
			
		||||
 | 
			
		||||
enum class Port : u8 {
 | 
			
		||||
    None = 0,
 | 
			
		||||
    Cam1 = 1,
 | 
			
		||||
    Cam2 = 2,
 | 
			
		||||
    Both = Cam1 | Cam2
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum class CameraSelect : u8 {
 | 
			
		||||
    None = 0,
 | 
			
		||||
    Out1 = 1,
 | 
			
		||||
    In1 = 2,
 | 
			
		||||
    Out2 = 4,
 | 
			
		||||
    In1Out1 = Out1 | In1,
 | 
			
		||||
    Out1Out2 = Out1 | Out2,
 | 
			
		||||
    In1Out2 = In1 | Out2,
 | 
			
		||||
    All = Out1 | In1 | Out2
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum class Effect : u8 {
 | 
			
		||||
    None = 0,
 | 
			
		||||
    Mono = 1,
 | 
			
		||||
    Sepia = 2,
 | 
			
		||||
    Negative = 3,
 | 
			
		||||
    Negafilm = 4,
 | 
			
		||||
    Sepia01 = 5
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum class Context : u8 {
 | 
			
		||||
    None = 0,
 | 
			
		||||
    A = 1,
 | 
			
		||||
    B = 2,
 | 
			
		||||
    Both = A | B
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum class Flip : u8 {
 | 
			
		||||
    None = 0,
 | 
			
		||||
    Horizontal = 1,
 | 
			
		||||
    Vertical = 2,
 | 
			
		||||
    Reverse = 3
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum class Size : u8 {
 | 
			
		||||
    VGA = 0,
 | 
			
		||||
    QVGA = 1,
 | 
			
		||||
    QQVGA = 2,
 | 
			
		||||
    CIF = 3,
 | 
			
		||||
    QCIF = 4,
 | 
			
		||||
    DS_LCD = 5,
 | 
			
		||||
    DS_LCDx4 = 6,
 | 
			
		||||
    CTR_TOP_LCD = 7,
 | 
			
		||||
    CTR_BOTTOM_LCD = QVGA
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum class FrameRate : u8 {
 | 
			
		||||
    Rate_15 = 0,
 | 
			
		||||
    Rate_15_To_5 = 1,
 | 
			
		||||
    Rate_15_To_2 = 2,
 | 
			
		||||
    Rate_10 = 3,
 | 
			
		||||
    Rate_8_5 = 4,
 | 
			
		||||
    Rate_5 = 5,
 | 
			
		||||
    Rate_20 = 6,
 | 
			
		||||
    Rate_20_To_5 = 7,
 | 
			
		||||
    Rate_30 = 8,
 | 
			
		||||
    Rate_30_To_5 = 9,
 | 
			
		||||
    Rate_15_To_10 = 10,
 | 
			
		||||
    Rate_20_To_10 = 11,
 | 
			
		||||
    Rate_30_To_10 = 12
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum class ShutterSoundType : u8 {
 | 
			
		||||
    Normal = 0,
 | 
			
		||||
    Movie = 1,
 | 
			
		||||
    MovieEnd = 2
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum class WhiteBalance : u8 {
 | 
			
		||||
    BalanceAuto = 0,
 | 
			
		||||
    Balance3200K = 1,
 | 
			
		||||
    Balance4150K = 2,
 | 
			
		||||
    Balance5200K = 3,
 | 
			
		||||
    Balance6000K = 4,
 | 
			
		||||
    Balance7000K = 5,
 | 
			
		||||
    BalanceMax = 6,
 | 
			
		||||
    BalanceNormal = BalanceAuto,
 | 
			
		||||
    BalanceTungsten = Balance3200K,
 | 
			
		||||
    BalanceWhiteFluorescentLight = Balance4150K,
 | 
			
		||||
    BalanceDaylight = Balance5200K,
 | 
			
		||||
    BalanceCloudy = Balance6000K,
 | 
			
		||||
    BalanceHorizon = Balance6000K,
 | 
			
		||||
    BalanceShade = Balance7000K
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum class PhotoMode : u8 {
 | 
			
		||||
    Normal = 0,
 | 
			
		||||
    Portrait = 1,
 | 
			
		||||
    Landscape = 2,
 | 
			
		||||
    Nightview = 3,
 | 
			
		||||
    Letter0 = 4
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum class LensCorrection : u8 {
 | 
			
		||||
    Off = 0,
 | 
			
		||||
    On70 = 1,
 | 
			
		||||
    On90 = 2,
 | 
			
		||||
    Dark = Off,
 | 
			
		||||
    Normal = On70,
 | 
			
		||||
    Bright = On90
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum class Contrast : u8 {
 | 
			
		||||
    Pattern01 = 1,
 | 
			
		||||
    Pattern02 = 2,
 | 
			
		||||
    Pattern03 = 3,
 | 
			
		||||
    Pattern04 = 4,
 | 
			
		||||
    Pattern05 = 5,
 | 
			
		||||
    Pattern06 = 6,
 | 
			
		||||
    Pattern07 = 7,
 | 
			
		||||
    Pattern08 = 8,
 | 
			
		||||
    Pattern09 = 9,
 | 
			
		||||
    Pattern10 = 10,
 | 
			
		||||
    Pattern11 = 11,
 | 
			
		||||
    Low = Pattern05,
 | 
			
		||||
    Normal = Pattern06,
 | 
			
		||||
    High = Pattern07
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum class OutputFormat : u8 {
 | 
			
		||||
    YUV422 = 0,
 | 
			
		||||
    RGB565 = 1
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct PackageParameterCameraSelect {
 | 
			
		||||
    CameraSelect camera;
 | 
			
		||||
    s8 exposure;
 | 
			
		||||
    WhiteBalance white_balance;
 | 
			
		||||
    s8 sharpness;
 | 
			
		||||
    bool auto_exposure;
 | 
			
		||||
    bool auto_white_balance;
 | 
			
		||||
    FrameRate frame_rate;
 | 
			
		||||
    PhotoMode photo_mode;
 | 
			
		||||
    Contrast contrast;
 | 
			
		||||
    LensCorrection lens_correction;
 | 
			
		||||
    bool noise_filter;
 | 
			
		||||
    u8 padding;
 | 
			
		||||
    s16 auto_exposure_window_x;
 | 
			
		||||
    s16 auto_exposure_window_y;
 | 
			
		||||
    s16 auto_exposure_window_width;
 | 
			
		||||
    s16 auto_exposure_window_height;
 | 
			
		||||
    s16 auto_white_balance_window_x;
 | 
			
		||||
    s16 auto_white_balance_window_y;
 | 
			
		||||
    s16 auto_white_balance_window_width;
 | 
			
		||||
    s16 auto_white_balance_window_height;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static_assert(sizeof(PackageParameterCameraSelect) == 28, "PackageParameterCameraSelect structure size is wrong");
 | 
			
		||||
 | 
			
		||||
/// Initialize CAM service(s)
 | 
			
		||||
void Init();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user