Commit Graph

81 Commits

Author SHA1 Message Date
daishengdong
5b51d50ade add ota algorithm for device
1. effective "Differential Upgrade" patch algorithm with high compression rate
2. effective recovery algorithm support recovery firmware in blocks which has low memory consumption and wear-leveling strategies, especially suitable for embeded devices with low RAM.
3. add sample ota bootloader project, see:
board\TencentOS_tiny_EVB_MX_Plus\KEIL\ota\ota_bootloader_recovery
4. add sample application project for download firmware through http, see:
board\TencentOS_tiny_EVB_MX_Plus\KEIL\ota\ota_application_download_through_http
5. add sample application project for download firmware through qcloud explorer console, see:
board\TencentOS_tiny_EVB_MX_Plus\KEIL\ota\ota_application_download_through_qcloud_iot_explorer
6. an OTA markdown document is pending
2020-06-02 15:03:42 +08:00
Supowang
6687159b16 Update lora_demo.c 2020-05-28 17:33:08 +08:00
supowang
ac2dc8c5d2 add pm2.5 demo for evbmx+
add pm2.5 demo for evbmx+
2020-05-19 19:37:04 +08:00
supowang
d1b6d1f869 fix ci gcc project
fix cigcc  project
2020-05-13 14:31:09 +08:00
daishengdong
08e5f7b3ec remove old tencentcloud_sdk and abandoned EVB boards 2020-05-07 16:22:17 +08:00
daishengdong
7fdfb8f1c5 add qcloud explorer ota sample 2020-05-07 15:09:09 +08:00
daishengdong
3e631cd96a update qcloud sdk
1. iot-hub sdk update to 3.2.0
2. iot-explorer update to 3.1.1
2020-05-07 11:11:04 +08:00
daishengdong
2e8c8c19e6 fix some calloc bug
1. some calloc fix
2. fix some document error
3. refactor kv API, to be compatible with ota API
2020-04-24 11:58:42 +08:00
daishengdong
5c21ce702f add IAP sample project, mini program manual
see:
doc/20.In_Application_Programming_based_EVB_MX_Plus.md
2020-04-15 18:11:13 +08:00
daishengdong
8123240a91 add at socket keil project 2020-04-08 11:41:48 +08:00
supowang
a3078ac232 add mqtt client example for evb_mx+
add mqtt client example for evb_mx+
2020-03-27 17:04:33 +08:00
supowang
c0cb4460b7 add modbus demo for MX+
add modbus demo for MX+
2020-03-20 18:39:49 +08:00
daishengdong
40f55ec57b support posix
1. posix pthread.h: pthread, pthread_barrier, pthread_cond, pthread_mutex, , pthread_rwlock, pthread_spin, etc
2. posix semaphore.h: sem_*
3. posix mqueue.h: mq_*
4. posix time.h: timer_*
5. to support posix, add tos_barrier, tos_bitmap, tos_rwlock, tos_stopwatch, change name of k_task_t from a char * pointer to a char array.
6. sample, see examples\posix
7. project, see board\TencentOS_tiny_EVB_MX_Plus\KEIL\posix
2020-02-28 00:11:28 +08:00
supowang
88bfbe999a fix MX and MXplus lora demo
fix MX and MXplus lora demo
2020-01-10 15:50:58 +08:00
daishengdong
72481955e2 a very simple shell framework
simple, clear, easy to DIY
2020-01-08 13:54:56 +08:00
daishengdong
c9556307df add tos_slist.h, rename tos.h to tos_k.h 2020-01-03 17:25:38 +08:00
daishengdong
febcf10911 add kv fs component
1. a true wear-leveling kv fs for norflash, especially optimize for some onchip norflash with "write once on one single write unit" like stm32l4, a true "no earse before write" flash algorithm.
2. an "as less as possible" gc strategy, do best to save norflash's life.
3. full "power down protection" support
4. see "examples" of kv, project in "TencentOS_tiny_EVB_MX_Plus", with onchip flash and qspiflash sample.
2019-12-19 16:08:42 +08:00
daishengdong
b2983383bb add nimble mesh example
need meshctl installed on raspberrypi. nimble offical samples have a lot of pit ...
2019-11-28 11:12:16 +08:00
daishengdong
96cf620708 a bugfix for mail queue and printf clipping switch
1. add TOS_CFG_LIBC_PRINTF_EN
1: enable printf to implement tos_kprintf
when you call tos_kprintf(actually currently it's a MACRO rather than a function) , the libc will be invloved into the image, most of the time it means a larger image size.

0: disable printf, means tos_kprintf is defined as an empty MACRO
most of the time, means you will not get a log output from the uart(currently we donnot have a console yet) but a smaller image size.

2. fix a bug of tos_mail_q and tos_priority_mail_q
if we are post-ing a mail and there is[are] task[s] just pend-ing for the mail queue, the mail delivered to the pend-er will be a pointer, and probably it's a pointer to the local variable on the stack. Actually we should do a memcpy rather than a pointer assignment. for more details, see the patch.
2019-11-25 21:04:37 +08:00
supowang
1fd250764d add nb-iot demo for huawei ocean_connect
add nb-iot demo for huawei ocean_connect
2019-11-15 11:46:59 +08:00
daishengdong
943db74fc7 merge new qcloud sdk
1. qcloud has a great revolution, the protocol has been changed to implement data template, so the old TencentCloud_SDK developed by us will not work fine now(mqtt still works, but data template will not works fine for recently created product/devices).

2. I merge the official qlcoud sdk(include both the iot-hub and iot-explorer sdk) into the componet/conectivity to support new protocol of data template

3. iot-hub sdk, supply the fundamental iot protocol(like mqtt coap, etc.)
iot-explorer sdk, supply the high level service like data template based on mqtt

4. To know how it works, see qcloud_iot_explorer_sdk_data_template、qcloud_iot_hub_sdk_mqtt example(keil project in board\TencentOS_tiny_EVB_MX_Plus\KEIL\qcloud_iot_explorer_sdk_data_template and  board\TencentOS_tiny_EVB_MX_Plus\KEIL\qcloud_iot_hub_sdk_mqtt)
2019-11-14 15:09:00 +08:00
supowang
a6c9c76556 fix EVB_MX_Plus gcc makefile bug 2019-11-07 19:03:24 +08:00
supowang
7a438511ad add gd32F130 & F303 support 2019-10-31 19:59:28 +08:00
dcxajichu
8c24d921b0 support aliyun sdk on TencentOS tiny
sample: examples\aliyun_iotkit_csdk_mqtt
project: board\TencentOS_tiny_EVB_MX_Plus\KEIL\aliyun_iotkit_csdk_mqtt
2019-10-31 16:36:28 +08:00
daishengdong
c411ed1eec add a set of dyn(create / destroy) interface
1. tos_ring_q_create_dyn
2. tos_chr_fifo_create_dyn
3. tos_msg_q_create_dyn
4. tos_mail_q_create_dyn
5. tos_bin_heap_create_dyn
6. tos_prio_q_create_dyn
7. tos_prio_msg_q_create_dyn
8. tos_prio_mail_q_create_dyn
2019-10-29 16:57:43 +08:00
supowang
e53c032689 fix board compile for kernel change 2019-10-28 17:25:09 +08:00
daishengdong
bd613af56e fix board keil compile 2019-10-28 17:20:08 +08:00
daishengdong
d0b8d0675e add ring queue/message queue/mail queue, binary heap/priority queue/priority message queue/priority mail queue
1. remove the old msg queue and queue:
i. msg queue is not a common and reusable/flexible component(need user to config the msg pool size and this componet can only be used by tos_queue)
ii. tos_queue can only deliver the pointer message(cannot do a memory buffer deliver)

2. add ring queue(tos_ring_q) componet
rinq queue can be reused by tos_chr_fifi/tos_msg_q/tos_mail_q as the foundational data container

3. add message queue(tos_msg_q)
a little like the old queue mechanism, supply the capability to deliver a pointer message

4. add mail queue(tos_mail_q)
supply the capability to deliver a memory buffer

5. add binary heap(tos_bin_heap)
the basement componet to implement priority queue

6. add priority queue(tos_prio_q)
can be reused by the priority message/mail queue  as the foundational data container.

7. add priority message queue(tos_prio_msg_q)
a message(pointer) deliver mechanism, supply the capability of delivering the message with priority(message with higher priority comes faster to the pender than with lower)

8. add priority mail queue(tos_prio_mail_q)
a mail(memory buffer) deliver mechanism, supply the capability of delivering the mail with priority(mail with higher priority comes faster to the pender than with lower)
2019-10-28 15:50:46 +08:00
daishengdong
06cae326a2 add API (tos_task_create_dyn & tos_task_walkthru & tos_task_curr_task_get)
tos_task_create_dyn: create task with dynamic allocated task handler and stack
tos_task_walkthru: API to walk through the statistic list of all the existing task
tos_task_curr_task_get: get current running task handler
2019-10-23 21:22:13 +08:00
acevest
55c3d82750 fix chinese font memory waste 2019-10-18 20:33:46 +08:00
supowang
3fdca943d8 add evb_mx_plus support 2019-10-18 17:39:59 +08:00