Search found 9 matches

by stewo
Sun Oct 30, 2011 6:32 pm
Forum: Development and Feedback
Topic: I2C implementation for STM32
Replies: 346
Views: 283397

Re: I2C implementation for STM32

[Sorry if I jump in here late. I have not read the past 20 pages of this thread, so maybe the following has been discussed already.]

Recently I tried to use the new I2C support with an STM32 in the "2.3.3 unstable" version. Apparently something is wrong in either the communication between the I2C ...
by stewo
Tue Sep 20, 2011 10:10 pm
Forum: General Support
Topic: why does chThdSleep() not allow a zero delay?
Replies: 11
Views: 9939

Re: why does chThdSleep() not allow a zero delay?

Giovanni wrote:That "forever" should not be taken literally, it just takes a lot of time for a 32bits counter to wrap.

Sure, that's why I put it in quotes.

Thanks again, Stephan
by stewo
Tue Sep 20, 2011 8:35 pm
Forum: General Support
Topic: why does chThdSleep() not allow a zero delay?
Replies: 11
Views: 9939

Re: why does chThdSleep() not allow a zero delay?

Sorry if this is nit-picking but I first thought systime_t was defined as a signed integer but it is actually unsigned.

So what this means is the aforementioned fact that a thread calling chThdSleepUntil() can possibly pass a 'time' value that is in the past, which is then interpreted as far future ...
by stewo
Tue Sep 20, 2011 5:21 pm
Forum: General Support
Topic: why does chThdSleep() not allow a zero delay?
Replies: 11
Views: 9939

Re: why does chThdSleep() not allow a zero delay?

Parameters are not checked for correctness unless the option CH_DBG_ENABLE_CHECKS is enabled.

I think you got me wrong. The check for non-zero positive sleep time is always there:

void chThdSleepUntil(systime_t time) {
chSysLock();
if ((time -= chTimeNow()) > 0)
chThdSleepS(time ...
by stewo
Tue Sep 20, 2011 1:30 pm
Forum: General Support
Topic: why does chThdSleep() not allow a zero delay?
Replies: 11
Views: 9939

Re: why does chThdSleep() not allow a zero delay?

Ok, so what excatly happens when a zero delay is accidentally specified anyway?

Note also that the description on " Reliable timings using Threads " - " A better solution " states:
[http://www.chibios.org/dokuwiki/doku.php?id=chibios:kb:timing]

Note that this solution requires that the do ...
by stewo
Tue Sep 20, 2011 11:45 am
Forum: General Support
Topic: why does chThdSleep() not allow a zero delay?
Replies: 11
Views: 9939

why does chThdSleep() not allow a zero delay?

Docs say TIME_IMMEDIATE (which is defined as zero) is an invalid parameter to chThdSleep(). Why is this? Most OS allow a zero delay, which then either causes an immediate return or delays for at least one timer tick. I would prefer to see Chibios also allow for zero delay time.

Thanks, Stephan
P.S ...
by stewo
Sat Mar 19, 2011 9:33 pm
Forum: General Support
Topic: STM2 Discover Board Build Problem
Replies: 7
Views: 8479

Re: STM2 Discover Board Build Problem

Giovanni, "liamstask" gave the answer already, see http://sourceforge.net/projects/chibios ... ic/3996570

The problem is that CodeSourcery is lacking some unix commands, which Yagarto offers as a seprate "Tools" package, see http://www.yagarto.de/#download

I am actually able to compile/link with CodeSourcery plus the Yagarto tools.

Stephan
by stewo
Sat Feb 26, 2011 5:23 pm
Forum: Development and Feedback
Topic: Multipilot32 branch and ChibiOS need developer ..
Replies: 30
Views: 31372

Re: Multipilot32 branch and ChibiOS need developer ..

Anyway in that STM32 there are a lot of timers that can be used too.
Usually when people talk about "microsecond resolution" of timers (as Roberto did above), they expect to find some machanism so they can program a timer (callback) event. However, in most systems, such a high resolution is not ...
by stewo
Sat Feb 26, 2011 10:47 am
Forum: Development and Feedback
Topic: Multipilot32 branch and ChibiOS need developer ..
Replies: 30
Views: 31372

Re: Multipilot32 branch and ChibiOS need developer ..

The function chTimeNow() returns the current time but its resolution is 1mS using the default configuration, if you need uS class resolutions then you should use an HW timer.
I have not yet inspected any timer code but usually there is some hardware timer for which its divider has been programmed ...