Wowwee Rovio 核心库 libNS 逆向工程

来自Jack's Lab
跳转到: 导航, 搜索

目录

1 mcu_send_cmd(p1, p2, p3, p4)

char mcu_cmd[] = 
{
  0x55, 0x11, 0x4d, 0x4d, 0x00, 0x01, 0x00, 0x53, 0x48, 0x52, 0x54,
  0x00, 0x01, 0x00, 0x01,   p1,   p2,   p3,   p4, 0x00, 0x00, 0xaa
}

调用 mcuSendCommand() 或 mcuSendCommand_NoResponse() 将命令字通过写 mcu 的串口“通知”mcu 执行相应的动作

这两个函数定义在 Host/LibCamera/Src/MCU.c


2 send_drive_cmd(p1, p2)

mcu_send_cmd(p1, p2, 0, 0);


2.1 state_change_head_position(p1)

send_drive_cmd(0xc, p1)

参数 p1 取值:

0x00 head 放平

0xff head 抬到最高



3 send_wheel_cmd(p1, p2, p3, p4)

if(p2 <= 0)
  t2 = ((-p2) & 0xff) | 0x80;
else
  t2 = p2 & 0xff;

if(p3 <= 0)
  t3 = ((-p3) & 0xff) | 0x80;
else
  t3 = p3 & 0xff;

if(p4 <= 0)
  t4 = ((-p4) & 0xff) | 0x80;
else
  t4 = p4 & 0xff;

mcu_send_cmd(p1, t2, t3, t4);


3.1 send_wheel_speed_cmd(p1, p2, p3)

 send_wheel_cmd(0x1b, p1, p2, p3);


3.2 send_wheel_pwm_cmd(p1, p2, p3)

 send_wheel_cmd(0x17, p1, p2, p3);


4 update_encoders()

5 smc_go_home()


































个人工具
名字空间

变换
操作
导航
工具箱