mc96107 / arduino-scoop-cooperative-scheduler-arm-avr Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/arduino-scoop-cooperative-scheduler-arm-avr
Automatically exported from code.google.com/p/arduino-scoop-cooperative-scheduler-arm-avr
access to ptrIn and ptrOut on simultaneously from interrupt or main program is
not possible on AVR 8 bits plateform
Original issue reported on code.google.com by fabrice.oudert
on 23 Dec 2012 at 9:01
page 5, the example should be changed like this:
void printstack(){ SCoopEvent* ptr=SCoopFirstTaskItem;
page 8, the example for defining the task anaRead is not compliant with changes
made in defineTask in V1.2
the example should be rewiten like this:
defineTimerRun(anaRead,10) // read analog every 10ms
{ A=analogRead(1); analogBuf.put(&A); }
will be updated in next release
Original issue reported on code.google.com by fabrice.oudert
on 11 Jan 2013 at 10:06
What steps will reproduce the problem?
1. I'm trying to read and process different commands recieved from sms and GSM
shield. I get sms text as char array, and if I convert it in main loop it all
works fine, but when I try to do that conversion inside TaskLoop conversion
doesn't work.
2. char smsMessage[160];
string content = "";
In loop() this converts just fine:
content = String(smsMessage);
in defineTaskLoop same command returns empty string or only first character of
sms message.
Same thing happens if function that does that conversion is called from inside
of defineTaskLoop.
What is the expected output? What do you see instead?
Expected output is String with text of SMS, and I see only empty strings.
What version of the product are you using? On what operating system?
1.2 on Arduino Mega
Original issue reported on code.google.com by [email protected]
on 5 Feb 2014 at 3:28
Have you a plan to migrate this library to another place? I would like to know
the future of this project. Thanks!
Original issue reported on code.google.com by [email protected]
on 27 Mar 2015 at 12:16
bug in asm code for calculation micros when FCPU is 8MHZ.
in SCoop.cpp, lines lines 201 & 202 should be deleted as there is no point on
soing subi %B0,2 when the interupt is hapening at this very moment. subi %B0,1
is enough.
therefore there is no diference in this area regarding the F_CPU and the entire
#if should be deleted (lines 199, 201,202,203).
this impact the micros function which will havean error of 8us every 1024us in
case we call the function at the same time the interrup will happen... this
gives a probability of 10^-6 I think.
so this will be corrected in the next milestone
Original issue reported on code.google.com by fabrice.oudert
on 11 Jan 2013 at 1:53
I ve just realized that the v1.2 pack has been built with the SCoopTIMEREPORT
predefined variable set to 1 instead of 0.
This will impact the default response time of the yield by a few nano seconds
and this will bring the time variables in your object.
Just edit the SCopp.h file and change this at line 25 if you want to remove
that.
will be changed in next release version.
Original issue reported on code.google.com by fabrice.oudert
on 11 Jan 2013 at 10:02
What steps will reproduce the problem?
1. Access the page
https://code.google.com/p/arduino-scoop-cooperative-scheduler-arm-avr/downloads/
list
2. Select SCoopME V0.9 Modern Edition
3. Observe it is only 11K and then download anyway.... Open and see that it is
empty.
What is the expected output? What do you see instead?
I would hope (and kind of expect) the download to not be empty.
What version of the product are you using? On what operating system?
MacOSX Mavericks running Firefox 33.1
Please provide any additional information below.
Um... someone made a booboo.
Original issue reported on code.google.com by [email protected]
on 6 Dec 2014 at 4:29
What steps will reproduce the problem?
Using the Fifo from an ISR sets the GIE flag
What is the expected output? What do you see instead?
GIE flag preserved
What version of the product are you using? On what operating system?
1.2
Please provide any additional information below.
The ASM_ATOMIC code doesnt restore the Interupt Enable flag on exit.
// encapsulate the next block code within noInterrupt() and interrupts() //
credits to Dean Camera
#ifndef ASM_ATOMIC
void inline __SCoopInterrupts(const uint8_t *__s) { interrupts(); }
uint8_t inline __SCoopNoInterrupts(void) { noInterrupts(); return
1; }
#define ASM_ATOMIC for ( uint8_t __temp
__attribute__((__cleanup__(__SCoopInterrupts))) = __SCoopNoInterrupts(); __temp
; __temp = 0 )
#endif
Here i save the interrupt flag in the loop variable and only re-enable
interrupts if they were enabled before:
#ifndef ASM_ATOMIC
void inline __SCoopInterrupts(const uint8_t *__s) { if ( *s & 0x80 )
interrupts(); }
uint8_t inline __SCoopNoInterrupts(void) { if ( SREG & 0x80 ) {
noInterrupts(); return 0x81; } return 1; }
#define ASM_ATOMIC for ( uint8_t __temp
__attribute__((__cleanup__(__SCoopInterrupts))) = __SCoopNoInterrupts(); __temp
& 1 ; __temp &= 0x80 )
#endif
i guess the generated code would be quite alot bigger as the old for loop exit
condition would be optimised away.
Oli
Original issue reported on code.google.com by [email protected]
on 4 Aug 2014 at 7:58
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.