diff options
| author | Meco Man <[email protected]> | 2021-02-05 20:44:25 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-02-05 20:44:25 +0800 |
| commit | 852d7d7552bd3fe898115ea16ba401970b0d1fad (patch) | |
| tree | f7c13c061ecaa47e70f0f856cc685bba25866429 /components/drivers | |
| parent | 97cc8a8f72838deb0273a3e60ae29319edd7e4f7 (diff) | |
| parent | 7fc236dddb14bcf5dba8e304efde9c3a518a117c (diff) | |
Merge pull request #15 from RT-Thread/master
pr
Diffstat (limited to 'components/drivers')
| -rw-r--r-- | components/drivers/rtc/rtc.c | 36 | ||||
| -rw-r--r-- | components/drivers/sdio/sdio.c | 36 |
2 files changed, 41 insertions, 31 deletions
diff --git a/components/drivers/rtc/rtc.c b/components/drivers/rtc/rtc.c index 682515ce98..ef688ac3cd 100644 --- a/components/drivers/rtc/rtc.c +++ b/components/drivers/rtc/rtc.c @@ -11,7 +11,7 @@ * 2018-02-16 armink add auto sync time by NTP */ -#include <time.h> +#include <sys/time.h> #include <string.h> #include <rtthread.h> @@ -30,7 +30,7 @@ #endif /* RTC_SYNC_USING_NTP */ /** - * Set system date(time not modify). + * Set system date(time not modify, local timezone). * * @param rt_uint32_t year e.g: 2012. * @param rt_uint32_t month e.g: 12 (1~12). @@ -52,10 +52,10 @@ rt_err_t set_date(rt_uint32_t year, rt_uint32_t month, rt_uint32_t day) /* lock scheduler. */ rt_enter_critical(); - /* converts calendar time time into local time. */ + /* converts calendar time into local time. */ p_tm = localtime(&now); /* copy the statically located variable */ - memcpy(&tm_new, p_tm, sizeof(struct tm)); + rt_memcpy(&tm_new, p_tm, sizeof(struct tm)); /* unlock scheduler. */ rt_exit_critical(); @@ -64,7 +64,7 @@ rt_err_t set_date(rt_uint32_t year, rt_uint32_t month, rt_uint32_t day) tm_new.tm_mon = month - 1; /* tm_mon: 0~11 */ tm_new.tm_mday = day; - /* converts the local time in time to calendar time. */ + /* converts the local time into the calendar time. */ now = mktime(&tm_new); device = rt_device_find("rtc"); @@ -80,7 +80,7 @@ rt_err_t set_date(rt_uint32_t year, rt_uint32_t month, rt_uint32_t day) } /** - * Set system time(date not modify). + * Set system time(date not modify, local timezone). * * @param rt_uint32_t hour e.g: 0~23. * @param rt_uint32_t minute e.g: 0~59. @@ -102,10 +102,10 @@ rt_err_t set_time(rt_uint32_t hour, rt_uint32_t minute, rt_uint32_t second) /* lock scheduler. */ rt_enter_critical(); - /* converts calendar time time into local time. */ + /* converts calendar time into local time. */ p_tm = localtime(&now); /* copy the statically located variable */ - memcpy(&tm_new, p_tm, sizeof(struct tm)); + rt_memcpy(&tm_new, p_tm, sizeof(struct tm)); /* unlock scheduler. */ rt_exit_critical(); @@ -114,7 +114,7 @@ rt_err_t set_time(rt_uint32_t hour, rt_uint32_t minute, rt_uint32_t second) tm_new.tm_min = minute; tm_new.tm_sec = second; - /* converts the local time in time to calendar time. */ + /* converts the local time into the calendar time. */ now = mktime(&tm_new); device = rt_device_find("rtc"); @@ -174,6 +174,9 @@ INIT_COMPONENT_EXPORT(rt_rtc_ntp_sync_init); #include <finsh.h> #include <rtdevice.h> +/** + * show date and time (local timezone) + */ void list_date(void) { time_t now; @@ -181,12 +184,15 @@ void list_date(void) now = time(RT_NULL); rt_kprintf("%.*s\n", 25, ctime(&now)); } -FINSH_FUNCTION_EXPORT(list_date, show date and time.) +FINSH_FUNCTION_EXPORT(list_date, show date and time (local timezone)) +FINSH_FUNCTION_EXPORT(set_date, set date(local timezone) e.g: set_date(2010,2,28)) +FINSH_FUNCTION_EXPORT(set_time, set time(local timezone) e.g: set_time(23,59,59)) -FINSH_FUNCTION_EXPORT(set_date, set date. e.g: set_date(2010,2,28)) -FINSH_FUNCTION_EXPORT(set_time, set time. e.g: set_time(23,59,59)) #if defined(RT_USING_FINSH) && defined(FINSH_USING_MSH) +/** + * get date and time or set (local timezone) [year month day hour min sec] + */ static void date(uint8_t argc, char **argv) { if (argc == 1) @@ -246,9 +252,9 @@ static void date(uint8_t argc, char **argv) rt_kprintf("e.g: date 2018 01 01 23 59 59 or date\n"); } } -MSH_CMD_EXPORT(date, get date and time or set [year month day hour min sec]); -#endif /* defined(RT_USING_FINSH) && defined(FINSH_USING_MSH) */ +MSH_CMD_EXPORT(list_date, show date and time (local timezone)) +MSH_CMD_EXPORT(date, get date and time or set (local timezone) [year month day hour min sec]) +#endif /* defined(RT_USING_FINSH) && defined(FINSH_USING_MSH) */ #endif /* RT_USING_FINSH */ - #endif /* RT_USING_RTC */ diff --git a/components/drivers/sdio/sdio.c b/components/drivers/sdio/sdio.c index f5d97cdd08..f0d5863a06 100644 --- a/components/drivers/sdio/sdio.c +++ b/components/drivers/sdio/sdio.c @@ -250,7 +250,10 @@ rt_int32_t sdio_io_rw_extended_block(struct rt_sdio_function *func, rt_int32_t ret; rt_uint32_t left_size; rt_uint32_t max_blks, blks; - + + RT_ASSERT(func != RT_NULL); + RT_ASSERT(func->card != RT_NULL); + left_size = len; /* Do the bulk of the transfer using block mode (if supported). */ @@ -575,22 +578,26 @@ static rt_int32_t sdio_read_cis(struct rt_sdio_function *func) if (tpl_link < 4) { LOG_D("bad CISTPL_MANFID length"); - break; - } - if (func->num != 0) - { - func->manufacturer = curr->data[0]; - func->manufacturer |= curr->data[1] << 8; - func->product = curr->data[2]; - func->product |= curr->data[3] << 8; } else { - card->cis.manufacturer = curr->data[0]; - card->cis.manufacturer |= curr->data[1] << 8; - card->cis.product = curr->data[2]; - card->cis.product |= curr->data[3] << 8; + if (func->num != 0) + { + func->manufacturer = curr->data[0]; + func->manufacturer |= curr->data[1] << 8; + func->product = curr->data[2]; + func->product |= curr->data[3] << 8; + } + else + { + card->cis.manufacturer = curr->data[0]; + card->cis.manufacturer |= curr->data[1] << 8; + card->cis.product = curr->data[2]; + card->cis.product |= curr->data[3] << 8; + } } + + rt_free(curr); break; case CISTPL_FUNCE: if (func->num != 0) @@ -930,9 +937,6 @@ err3: sdio_free_cis(host->card->sdio_function[i]); rt_free(host->card->sdio_function[i]); host->card->sdio_function[i] = RT_NULL; - rt_free(host->card); - host->card = RT_NULL; - break; } } } |
