Files
TencentOS-tiny/components/connectivity/mqttclient/common/log/salof_defconfig.h
2020-06-18 19:49:31 +08:00

144 lines
4.1 KiB
C

/*
* @Author: jiejie
* @Github: https://github.com/jiejieTop
* @Date: 2019-12-25 23:56:34
* @LastEditTime: 2020-06-17 18:50:26
* @Description: the code belongs to jiejie, please keep the author information and source code according to the license.
*/
#ifndef _SALOF_DEFCONFIG_H_
#define _SALOF_DEFCONFIG_H_
#include "salof_config.h"
#ifdef SALOF_USING_LOG
#define SALOF_USING_RTT 1
#define SALOF_USING_FREERTOS 2
#define SALOF_USING_TENCENTOS 3
#define SALOF_USING_LINUX 4
#define SALOF_BASE_LEVEL (0)
#define SALOF_ERR_LEVEL (SALOF_BASE_LEVEL + 1)
#define SALOF_WARN_LEVEL (SALOF_ERR_LEVEL + 1)
#define SALOF_INFO_LEVEL (SALOF_WARN_LEVEL + 1)
#define SALOF_DEBUG_LEVEL (SALOF_INFO_LEVEL + 1)
#ifndef SALOF_USING_SALOF
#define SALOF_USING_SALOF (1U)
#endif
#ifndef SALOF_USING_IDLE_HOOK
#define SALOF_USING_IDLE_HOOK (0U)
#endif
#ifndef SALOF_LOG_COLOR
#define SALOF_LOG_COLOR (1U)
#endif
#ifndef SALOF_LOG_TS
#define SALOF_LOG_TS (1U)
#endif
#ifndef SALOF_LOG_TAR
#define SALOF_LOG_TAR (0U)
#endif
#ifndef SALOF_LOG_LEVEL
#define SALOF_LOG_LEVEL SALOF_DEBUG_LEVEL //SALOF_WARN_LEVEL SALOF_DEBUG_LEVEL
#endif
#if SALOF_USING_SALOF
#ifndef SALOF_BUFF_SIZE
#define SALOF_BUFF_SIZE (512U)
#endif
#ifndef SALOF_FIFO_SIZE
#define SALOF_FIFO_SIZE (1024*4U)
#endif
#ifndef SALOF_TASK_STACK_SIZE
#define SALOF_TASK_STACK_SIZE (2048U)
#endif
#ifndef SALOF_TASK_TICK
#define SALOF_TASK_TICK (20U)
#endif
#endif
#if !defined(SALOF_OS)
#error "SALOF_OS isn't defined in 'salof_config.h'"
#endif
#if (SALOF_OS == SALOF_USING_FREERTOS)
#include "FreeRTOS.h"
#include "task.h"
#include "semphr.h"
#define salof_mutex SemaphoreHandle_t
#define salof_tcb TaskHandle_t
#define salof_sem salof_mutex
#if SALOF_USING_IDLE_HOOK
#define salof_handler vApplicationIdleHook
#endif
#define SALOF_TASK_PRIO (0U)
#elif (SALOF_OS == SALOF_USING_TENCENTOS)
#include "tos_k.h"
#define salof_mutex k_mutex_t*
#define salof_sem k_sem_t*
#define salof_tcb k_task_t*
#define SALOF_TASK_PRIO (TOS_CFG_TASK_PRIO_MAX - 2u)
#undef SALOF_USING_IDLE_HOOK
#elif (SALOF_OS == SALOF_USING_RTT)
#include <rtconfig.h>
#include <rtthread.h>
#include <rthw.h>
#include <stdio.h>
#define salof_mutex rt_mutex_t
#define salof_sem rt_sem_t
#define salof_tcb rt_thread_t
#define SALOF_TASK_PRIO (RT_THREAD_PRIORITY_MAX - 1)
#elif (SALOF_OS == SALOF_USING_LINUX)
#include "pthread.h"
#include "memory.h"
#include <semaphore.h>
#include <stdlib.h>
#include <stdio.h>
#define salof_mutex pthread_mutex_t*
#define salof_sem sem_t*
#define salof_tcb pthread_t*
#define SALOF_TASK_PRIO (0U)
#undef SALOF_USING_IDLE_HOOK
#else
#error "not supported OS type"
#endif
void *salof_alloc(unsigned int size);
void salof_free(void *mem);
salof_tcb salof_task_create(const char *name,
void (*task_entry)(void *param),
void * const param,
unsigned int stack_size,
unsigned int priority,
unsigned int tick);
salof_mutex salof_mutex_create(void);
void salof_mutex_delete(salof_mutex mutex);
int salof_mutex_pend(salof_mutex mutex, unsigned int timeout);
int salof_mutex_post(salof_mutex mutex);
salof_sem salof_sem_create(void);
void salof_sem_delete(salof_sem sem);
int salof_sem_pend(salof_sem sem, unsigned int timeout);
int salof_sem_post(salof_sem sem);
unsigned int salof_get_tick(void);
char *salof_get_task_name(void);
extern int send_buff(char *buf, int len);
#endif
#endif // !_SALOF_DEFCONFIG_H_