一个基于Notes的CMR应用程序

大家好,才是真的好。

Domino/Notes平台上能开发各种应用这件事,想必就不用我再反复强调。

最近Openntf又有人更新了一款新的Notes应用,,一款CRM客户关系管理系统。真是让人喜闻乐见。

况且一出手就是三个版本,可以运行在PC上的Notes客户机或移动设备上的Nomad客户机上。

三个版本之间的唯一区别是,主题配色和界面不同。毕竟萝卜青菜各有所爱。

比如一种很古老的Notes应用风格,是我非常适应习惯的版本:
在这里插入图片描述
在此基础上扩展一下,在看视图的同时,可以随时预览和编辑文档,效果也不错:
在这里插入图片描述
还有一股现代风潮,简洁有力,是很多现在的年轻人喜欢的样式:
在这里插入图片描述
在移动设备上的访问,也能展现它的强韧的一致性,例如和第一种PC上的样式对应的移动样式:
在这里插入图片描述
和第二种PC上的样式对应的移动设备上显示的样式:
在这里插入图片描述
还有和第三种PC上的样式对应的移动样式:
在这里插入图片描述
个人觉得字体大小或许需要调整一下,尤其是还要汉化。希望有人来做,更希望那个人不是我。

至于怎么使用这个应用程序,具体功能这里就不作介绍,也相信难不到聪明的管理员或开发人员,最重要的事情其实是下载地址:https://openntf.org/main.nsf/project.xsp?r=project/CRM%20for%20Notes%20and%20Nomad%20-%20UI%20Contest%203/releases/D4462D44599A318086258866006901AD

如果你感兴趣,请点击上面的链接页面去下载,或回复“CRM”在我们的公众号中下载。

今天就写到这里吧。

更多文章请关注微信公众号:协作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的PID算法STC32事例程序,实现了控制一个直流电机的速度: ``` #include "STC32.h" // PID参数 float KP = 1.0; float KI = 0.1; float KD = 0.01; // 采样周期 float T = 0.01; // 目标速度 float target_speed = 100; // 电机速度 float motor_speed = 0; // PID变量 float last_error = 0; float error_sum = 0; // 电机控制 void control_motor(float pid_output) { // 将PID输出限制在[-255, 255]之间 if (pid_output > 255) { pid_output = 255; } else if (pid_output < -255) { pid_output = -255; } // 设置电机PWM输出 if (pid_output > 0) { P1_4 = 0; P1_5 = 1; PWM1 = pid_output; } else { P1_4 = 1; P1_5 = 0; PWM1 = -pid_output; } } // PID计算 float pid_calc(float current_speed) { float error = target_speed - current_speed; float error_rate = (error - last_error) / T; error_sum += error * T; float pid_output = KP * error + KI * error_sum + KD * error_rate; last_error = error; return pid_output; } // 主函数 int main() { // 初始化GPIO和PWM P1M1 = 0; P1M0 = 0xFF; PWM_CR = 0x82; PWM_CMR = 0x02; // 循环计算PID并控制电机 while (1) { // 读取电机速度 motor_speed = read_motor_speed(); // 计算PID输出 float pid_output = pid_calc(motor_speed); // 控制电机 control_motor(pid_output); // 延时一段时间,等待下一次采样 delay_ms(10); } return 0; } ``` 上述代码中,`KP`、`KI`和`KD`是PID的三个参数,`T`是采样周期,`target_speed`是目标速度,`motor_speed`是电机实际速度,`last_error`和`error_sum`是PID计算中需要保存的变量。 在`pid_calc()`函数中,先计算误差值和误差变化率,累计误差值,再根据PID公式计算出PID输出。在`control_motor()`函数中,将PID输出限制在[-255, 255]之间,并根据输出控制电机的PWM输出。 在主函数中,循环读取电机速度,计算PID输出,并控制电机。需要注意的是,在实际应用中,还需要根据具体的电机和采样周期调整PID参数,以获得更好的控制效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值