aboutsummaryrefslogtreecommitdiffstats
path: root/demos/ARMCM3-STM32F103-FATFS/main.c
diff options
context:
space:
mode:
authorbarthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-07-13 21:09:39 +0000
committerbarthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-07-13 21:09:39 +0000
commit5fee9bc344b38d79ff1baf26e6365eeae7d407b5 (patch)
treecd03f7ccbdf0a44026bc0f80b6fc87b9a6d361d0 /demos/ARMCM3-STM32F103-FATFS/main.c
parent2bdd9885e282b8cf26642f4a4b73fc4e61da872c (diff)
parent2e5abeebad5e94989f62e05582028f02c5e71dda (diff)
downloadChibiOS-5fee9bc344b38d79ff1baf26e6365eeae7d407b5.tar.gz
ChibiOS-5fee9bc344b38d79ff1baf26e6365eeae7d407b5.tar.bz2
ChibiOS-5fee9bc344b38d79ff1baf26e6365eeae7d407b5.zip
I2C. Merged changes from trunk.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/i2c_dev@3160 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'demos/ARMCM3-STM32F103-FATFS/main.c')
-rw-r--r--demos/ARMCM3-STM32F103-FATFS/main.c57
1 files changed, 26 insertions, 31 deletions
diff --git a/demos/ARMCM3-STM32F103-FATFS/main.c b/demos/ARMCM3-STM32F103-FATFS/main.c
index a5bfb13a8..a2bc4cf03 100644
--- a/demos/ARMCM3-STM32F103-FATFS/main.c
+++ b/demos/ARMCM3-STM32F103-FATFS/main.c
@@ -18,7 +18,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <stdio.h>
#include <string.h>
#include "ch.h"
@@ -26,6 +25,7 @@
#include "test.h"
#include "shell.h"
#include "evtimer.h"
+#include "chprintf.h"
#include "ff.h"
@@ -62,8 +62,7 @@ static bool_t mmc_is_protected(void) {return !palReadPad(IOPORT3, GPIOC_MMCWP);}
/* Generic large buffer.*/
uint8_t fbuff[1024];
-static FRESULT scan_files(char *path)
-{
+static FRESULT scan_files(BaseChannel *chp, char *path) {
FRESULT res;
FILINFO fno;
DIR dir;
@@ -81,14 +80,15 @@ static FRESULT scan_files(char *path)
continue;
fn = fno.fname;
if (fno.fattrib & AM_DIR) {
- siprintf(&path[i], "/%s", fn);
- res = scan_files(path);
+ path[i++] = '/';
+ strcpy(&path[i], fn);
+ res = scan_files(chp, path);
if (res != FR_OK)
break;
path[i] = 0;
}
else {
- iprintf("%s/%s\r\n", path, fn);
+ chprintf(chp, "%s/%s\r\n", path, fn);
}
}
}
@@ -104,20 +104,16 @@ static FRESULT scan_files(char *path)
static void cmd_mem(BaseChannel *chp, int argc, char *argv[]) {
size_t n, size;
- char buf[52];
(void)argv;
if (argc > 0) {
- shellPrintLine(chp, "Usage: mem");
+ chprintf(chp, "Usage: mem\r\n");
return;
}
n = chHeapStatus(NULL, &size);
- siprintf(buf, "core free memory : %u bytes", chCoreStatus());
- shellPrintLine(chp, buf);
- siprintf(buf, "heap fragments : %u", n);
- shellPrintLine(chp, buf);
- siprintf(buf, "heap free total : %u bytes", size);
- shellPrintLine(chp, buf);
+ chprintf(chp, "core free memory : %u bytes\r\n", chCoreStatus());
+ chprintf(chp, "heap fragments : %u\r\n", n);
+ chprintf(chp, "heap free total : %u bytes\r\n", size);
}
static void cmd_threads(BaseChannel *chp, int argc, char *argv[]) {
@@ -135,24 +131,23 @@ static void cmd_threads(BaseChannel *chp, int argc, char *argv[]) {
"SNDMSGQ",
"SNDMSG",
"WTMSG",
+ "WTQUEUE",
"FINAL"
};
Thread *tp;
- char buf[60];
(void)argv;
if (argc > 0) {
- shellPrintLine(chp, "Usage: threads");
+ chprintf(chp, "Usage: threads\r\n");
return;
}
- shellPrintLine(chp, " addr stack prio refs state time");
+ chprintf(chp, " addr stack prio refs state time\r\n");
tp = chRegFirstThread();
do {
- siprintf(buf, "%8lx %8lx %4u %4i %9s %u",
- (uint32_t)tp, (uint32_t)tp->p_ctx.r13,
- (unsigned int)tp->p_prio, tp->p_refs - 1,
- states[tp->p_state], (unsigned int)tp->p_time);
- shellPrintLine(chp, buf);
+ chprintf(chp, "%.8lx %.8lx %4lu %4lu %9s %lu\r\n",
+ (uint32_t)tp, (uint32_t)tp->p_ctx.r13,
+ (uint32_t)tp->p_prio, (uint32_t)(tp->p_refs - 1),
+ states[tp->p_state], (uint32_t)tp->p_time);
tp = chRegNextThread(tp);
} while (tp != NULL);
}
@@ -162,13 +157,13 @@ static void cmd_test(BaseChannel *chp, int argc, char *argv[]) {
(void)argv;
if (argc > 0) {
- shellPrintLine(chp, "Usage: test");
+ chprintf(chp, "Usage: test\r\n");
return;
}
tp = chThdCreateFromHeap(NULL, TEST_WA_SIZE, chThdGetPriority(),
TestThread, chp);
if (tp == NULL) {
- shellPrintLine(chp, "out of memory");
+ chprintf(chp, "out of memory\r\n");
return;
}
chThdWait(tp);
@@ -181,25 +176,24 @@ static void cmd_tree(BaseChannel *chp, int argc, char *argv[]) {
(void)argv;
if (argc > 0) {
- shellPrintLine(chp, "Usage: tree");
+ chprintf(chp, "Usage: tree\r\n");
return;
}
if (!fs_ready) {
- shellPrintLine(chp, "File System not mounted");
+ chprintf(chp, "File System not mounted\r\n");
return;
}
err = f_getfree("/", &clusters, &fsp);
if (err != FR_OK) {
- shellPrintLine(chp, "FS: f_getfree() failed");
+ chprintf(chp, "FS: f_getfree() failed\r\n");
return;
}
- siprintf((void *)fbuff,
- "FS: %lu free clusters, %lu sectors per cluster, %lu bytes free",
+ chprintf(chp,
+ "FS: %lu free clusters, %lu sectors per cluster, %lu bytes free\r\n",
clusters, (uint32_t)MMC_FS.csize,
clusters * (uint32_t)MMC_FS.csize * (uint32_t)MMC_SECTOR_SIZE);
- shellPrintLine(chp, (void *)fbuff);
fbuff[0] = 0;
- scan_files((char *)fbuff);
+ scan_files(chp, (char *)fbuff);
}
static const ShellCommand commands[] = {
@@ -222,6 +216,7 @@ static WORKING_AREA(waThread1, 128);
static msg_t Thread1(void *arg) {
(void)arg;
+ chRegSetThreadName("blinker");
while (TRUE) {
palTogglePad(IOPORT3, GPIOC_LED);
if (fs_ready)