Commit Graph

125 Commits

Author SHA1 Message Date
大石头X2 87482cb10d 修正 gcc 6.2.1 下的编译警告 2016-12-23 18:21:46 +08:00
大石头X2 ed59ad12b4 减少任务调度的Cost日志 2016-12-15 16:35:38 +08:00
大石头 38db41c6ba 独立函数实现调试输出,方便RTL8710整体链接,而不需要putchar 2016-12-14 20:35:32 +08:00
cdyong 10bb1f9443 SmartOs默认版本修改 2016-12-10 09:03:36 +08:00
Stone 4223944e88 !!!修正临时开启的任务可能无法马上调度的BUG。
A任务ID小于B任务,大循环时首先被检查。此时如果B任务修改A任务下一次执行时间为0,那么可能因为这一次大循环所有任务的下一次执行时间都很长,导致A任务无法按照预期得到马上执行。
这里修改为,修改A任务的下一次执行时间时,要求大循环无条件跳过一次大睡眠,结束一轮大循环后马上开始下一轮。
在调光产品上测试呼吸灯通过。
2016-11-14 06:05:46 +00:00
nnhy 4cb3c8ebe8 增加RTL871x移植支持 2016-11-07 06:58:24 +00:00
nnhy a9f9b578ce 直接引用头文件,避免SmartOS上层需要包含太多的头部目录 2016-10-29 03:34:02 +00:00
nnhy ce317f2fdc 对外隐藏中断头文件,普通用户无需操作中断 2016-10-29 03:07:37 +00:00
nnhy 7429f4ce2c 直接引用头文件,避免SmartOS上层需要包含太多的头部目录 2016-10-29 02:59:28 +00:00
nnhy 3e1c8fd6e0 Sys.Delay里面,50us太小,至少1000us才执行调度 2016-10-13 02:44:29 +00:00
WangQiang 9fc470a04c 2016-09-26 06:13:15 +00:00
WangQiang 08aca30863 TinyToToken bug 2016-09-19 09:07:56 +00:00
nnhy 9869b632ca 修正RTC无法正确保存时间的BUG,未测试 2016-09-17 02:42:05 +00:00
WangQiang 69aa0b780f TokenSession::OnHello() 内处理Invoke消息时候 需要破例修改Token允许Replay 2016-09-05 13:09:18 +00:00
WangQiang 0fcd1c6b18 Sys.Reset() Sys.ResetAsync() 统一为 Sys.Reboot(int Delayms = 0); 2016-09-05 01:25:14 +00:00
WangQiang 3b93bc1c10 修改默认连接WIFI名为WSWL
修改SetWifi  SSID 不同才保存  减少擦写次数
优化SetWifi后的回复
提升系统版本
2016-09-02 02:53:26 +00:00
Stone 3cd16ccb81 有效期。1970以来的秒数。 2016-08-27 10:09:28 +00:00
WangQiang b40357ab0d 加密方式修改
使用密码加密DateTime 作为PassWord
2016-08-27 02:30:07 +00:00
WangQiang 17c0750542 整理日志输出 2016-08-24 01:38:14 +00:00
WangQiang a4dd9ca2f4 2016-08-20 00:36:57 +00:00
WangQiang cfb18d08db 2016-08-08 00:51:34 +00:00
WangQiang 6a8c2ba974 系统版本Ver 升级为 0x0310 2016-08-06 00:24:21 +00:00
WangQiang eee1f14e3a 给外部可以获取任务的能力 只返回符合要求的信息 2016-07-23 02:14:16 +00:00
Stone 75d3d74a2b 技术讨论通过,系统配置独立于用户配置区存在。
开发时烧写bin不影响,发布时烧写hex覆盖
2016-07-21 09:11:57 +00:00
nnhy 6afad5654e 使用TimeSpan显示已启动时间 2016-07-19 02:14:56 +00:00
Stone 6bd9ae62e0 比较的时间单位是毫秒 2016-07-02 11:04:55 +00:00
Stone 548a03f4f2 还没有经过调度的普通任务,在剩余时间超过500ms时,也给予调度机会
调试WiFi产品发行版时发现,打开8266需要等待3000ms,然后看门狗没有被调度过,导致没有机会执行
2016-07-02 09:56:38 +00:00
Stone 5ba42df263 只有固件库需要 assert_failed 2016-07-02 08:45:35 +00:00
Stone 0b6f3ce698 统一断言接口 2016-07-02 08:33:55 +00:00
Stone 078da19f55 去掉检测指针有效范围的宏定义 2016-07-02 08:26:20 +00:00
Stone dee50c83de static void Halt(); // 系统挂起 2016-07-02 08:02:35 +00:00
WangQiang a14012b46e 系统时钟定时器 使用Time2 错开开关的 TIM3 背光 2016-07-01 03:47:19 +00:00
Stone 00d10ec76c 精细判断时间 2016-06-30 13:53:12 +00:00
Stone 76cdbf2fe7 完整实现List<>泛型 2016-06-29 08:45:47 +00:00
Stone 06a4313ff6 重用任务对象时,记得清空各参数 2016-06-27 13:24:08 +00:00
Stone 7e6244a8ef 晚上8266组网逻辑,未组网时WsLink-xxxxxx,已组网时Ws-123456789A。
注意,main文件不要设置默认密码,否则这里会误判断为已组网。
2016-06-23 15:58:00 +00:00
Stone d799352a79 保存WiFi密码后,延迟一秒重启。
一秒内还要发出响应Invoke指令
2016-06-23 15:43:29 +00:00
Stone b925d5817b 删除Time.h的引用
STM32F1拆分Pwm
2016-06-23 03:34:35 +00:00
Stone 0b6e220d8f 记录已使用内存数和分配总次数 2016-06-22 10:57:55 +00:00
Stone fee1c14d0c 增加内存堆管理,未使用 2016-06-22 10:51:40 +00:00
Stone 33e387f863 系统内核Time.h改名为TTime.h,否则在gcc和clang上会跟C库的time.h冲突。
同时,MDK不支持<ctime>的引用方式,用宏解决
2016-06-22 09:50:16 +00:00
Stone 17692d3ada Version 2016-06-21 10:00:55 +00:00
Stone 416a7c6018 修正代码计时的小偏差 2016-06-21 07:01:30 +00:00
Stone 8a95bed243 睡眠时间单位是us 2016-06-21 04:26:35 +00:00
Stone 2cecbbeb88 有可能这一次轮询是有限时间 2016-06-21 04:15:49 +00:00
Stone 72aadaa942 即使事件型任务,也可能有较长的执行时间,不能在Sleep里面安排调度。
任务轮询调度后,Sleep状态时不能睡眠,至少也要判断阀值
2016-06-21 04:13:45 +00:00
Stone e0d738e452 事件型任务,并且当前可用时间超过10ms,允许调度 2016-06-20 10:05:18 +00:00
Stone 67f6d3b553 修正任务等待调度增加一层以后,没有判断等待已取消的错误 2016-06-20 05:11:58 +00:00
Stone 8b9a10ebf3 修正可能出现时间溢出导致任务调度错误的BUG 2016-06-20 05:05:11 +00:00
Stone 042bd750f7 时间轮默认睡眠间隔设为0,因为很多场景并不需要睡眠,而是需要死等 2016-06-20 02:12:54 +00:00
Stone 2df5acdc84 时间轮TimeWheel有特别的使用场景,不能废弃 2016-06-19 17:33:01 +00:00
Stone 61cc2b71ea 减少使用TimeWheel 2016-06-19 16:41:55 +00:00
Stone 849ff61678 2016-06-19 16:02:48 +00:00
Stone 884c417eb5 任务管理增加ExecuteForWait,统一Sys.Sleep和WaitHandle 2016-06-19 15:52:50 +00:00
Stone ccdbc49abb 使用C标准库函数clock表示系统启动后的毫秒数 2016-06-19 14:00:15 +00:00
Stone 5cacafc1f2 借助环境变量类,实现当前时间。
Sys.Ms()是启动后总毫秒数,不能直接作为当前时间的秒部分
2016-06-19 11:44:58 +00:00
Stone 44e5b22e26 严格要求代码,排除编译警告 2016-06-18 08:12:52 +00:00
Stone d16c4f6493 任务不会被拷贝 2016-06-17 06:07:08 +00:00
Stone 4a7048548e 增加系统配置,暂时不使用 2016-06-17 03:26:42 +00:00
Stone 00163b5cf0 Task增加当前任务 2016-06-17 02:13:13 +00:00
Stone fa9f3321a3 等待时间计算为当前任务的睡眠时间 2016-06-16 09:33:58 +00:00
Stone d7663a4bc3 等待句柄的WaitOne需要循环调度,测试通过 2016-06-16 08:35:40 +00:00
Stone 6f54299e5c 增加等待句柄WaitHandle,替代时间轮,直接干涉系统调度 2016-06-16 07:57:15 +00:00
Stone fe49ea5e7a 增加SetStackTop 2016-06-15 12:32:34 +00:00
Stone e9ca9b3370 Sys不要引用复杂类 2016-06-14 13:05:27 +00:00
Stone 2e761f36dd 2016-06-14 10:51:33 +00:00
Stone 7174b5b60b 2016-06-14 10:48:35 +00:00
Stone 836faeff0f 拆分Debug 2016-06-14 07:53:34 +00:00
Stone a38b2b5ae0 分离Time 2016-06-14 07:48:08 +00:00
Stone 9fff2bab04 拆分Sys和Thread 2016-06-14 07:42:27 +00:00
Stone 9152e7f0e9 优化MDK编译脚本,输出obj对象文件按照目录存放,避免不同子目录拥有同名文件时出错 2016-06-14 07:00:18 +00:00
Stone 0beaa438b8 拆分SmartOS,基础类库Core,系统核心Kernel,设备驱动Device,平台相关Platform
与STM32相关的代码全部位于Platform,其它任何目录代码不得引用SMT32相关类库文件
2016-06-14 04:40:59 +00:00
Stone 005bd5bcef 串口任务采用成员函数。
修正中断TS的一个BUG
2016-06-13 14:59:22 +00:00
Stone f03e134606 增加AddTask,支持成员函数作为任务函数 2016-06-13 14:18:47 +00:00
Stone 532150941f 系统内核和外设驱动分别独立到不同目录 2016-06-13 04:05:30 +00:00