package hk_takephoto

import (
	"time"

	"hnyfkj.com.cn/rtu/linux/baseapp"
)

// 相机模块的名称
const MODULE_NAME = "HikrobotTakePhoto"

// 相机模块初始化, 设置必要的运行环境参数, 只有成功才能进行后续的拍照操作
func ModuleInit() bool {
	myUsbfsMemSize := 500 // 单位: 兆字节
	bSetOK := false

	for range 5 {
		if baseapp.IsExit1() {
			return false
		}
		if getSysUsbfsMemCurrentSize() >= myUsbfsMemSize {
			bSetOK = true
			break // 已满足启动拍照程序的条件, 退出循环
		}
		ret := setSysUsbfsMemSize(myUsbfsMemSize)
		if ret == -1 {
			time.Sleep(1 * time.Second)
		}
	}

	if !bSetOK {
		baseapp.Logger.Errorf("[%s] 无法将系统\"usbfs\"的内存大小设置为: %dMB, 相机模块初始化失败!!", MODULE_NAME, myUsbfsMemSize)
		return false
	}

	return true
}
