GithubHelp home page GithubHelp logo

mc96107 / arduino-scoop-cooperative-scheduler-arm-avr Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 780 KB

Automatically exported from code.google.com/p/arduino-scoop-cooperative-scheduler-arm-avr

C++ 79.49% Arduino 20.51%

arduino-scoop-cooperative-scheduler-arm-avr's People

Contributors

fabriceo avatar

Stargazers

 avatar

arduino-scoop-cooperative-scheduler-arm-avr's Issues

2 typos in User Guide v1.2

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

char array to String conversion not working inside TaskLoop

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

Google Code will close!

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

bad micros calculation for F_CPU 8MHZ

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

SCoopTIMEREPORT set to 1 in V1.2 instead of 0 as per user guide

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

Repo Version of "SCoopME V0.9 Modern Edition" defective

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

Fifo from ISR

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.