Fork of Smoothie to port to mbed non-LPC targets.

Dependencies:   mbed

Fork of Smoothie by Stéphane Cachat

Committer:
Michael J. Spencer
Date:
Fri Feb 28 18:52:52 2014 -0800
Revision:
2:1df0b61d3b5a
Update to latest Smoothie.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Michael J. Spencer 2:1df0b61d3b5a 1 // c accessibllity to the c++ fifo class
Michael J. Spencer 2:1df0b61d3b5a 2 #include "fifo.h"
Michael J. Spencer 2:1df0b61d3b5a 3 #include "c-fifo.h"
Michael J. Spencer 2:1df0b61d3b5a 4
Michael J. Spencer 2:1df0b61d3b5a 5 void *new_fifo()
Michael J. Spencer 2:1df0b61d3b5a 6 {
Michael J. Spencer 2:1df0b61d3b5a 7 return new Fifo<char*>;
Michael J. Spencer 2:1df0b61d3b5a 8 }
Michael J. Spencer 2:1df0b61d3b5a 9
Michael J. Spencer 2:1df0b61d3b5a 10 void delete_fifo(void *fifo)
Michael J. Spencer 2:1df0b61d3b5a 11 {
Michael J. Spencer 2:1df0b61d3b5a 12 if(fifo == NULL) return;
Michael J. Spencer 2:1df0b61d3b5a 13 Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo);
Michael J. Spencer 2:1df0b61d3b5a 14 while(f->size() > 0) {
Michael J. Spencer 2:1df0b61d3b5a 15 char *s= f->pop();
Michael J. Spencer 2:1df0b61d3b5a 16 if (s != NULL) {
Michael J. Spencer 2:1df0b61d3b5a 17 free(s);
Michael J. Spencer 2:1df0b61d3b5a 18 }
Michael J. Spencer 2:1df0b61d3b5a 19 }
Michael J. Spencer 2:1df0b61d3b5a 20 delete f;
Michael J. Spencer 2:1df0b61d3b5a 21 }
Michael J. Spencer 2:1df0b61d3b5a 22
Michael J. Spencer 2:1df0b61d3b5a 23 char *fifo_pop(void *fifo)
Michael J. Spencer 2:1df0b61d3b5a 24 {
Michael J. Spencer 2:1df0b61d3b5a 25 Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo);
Michael J. Spencer 2:1df0b61d3b5a 26 return f->pop();
Michael J. Spencer 2:1df0b61d3b5a 27 }
Michael J. Spencer 2:1df0b61d3b5a 28
Michael J. Spencer 2:1df0b61d3b5a 29 void fifo_push(void *fifo, char *str)
Michael J. Spencer 2:1df0b61d3b5a 30 {
Michael J. Spencer 2:1df0b61d3b5a 31 Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo);
Michael J. Spencer 2:1df0b61d3b5a 32 f->push(str);
Michael J. Spencer 2:1df0b61d3b5a 33 }
Michael J. Spencer 2:1df0b61d3b5a 34
Michael J. Spencer 2:1df0b61d3b5a 35 int fifo_size(void *fifo)
Michael J. Spencer 2:1df0b61d3b5a 36 {
Michael J. Spencer 2:1df0b61d3b5a 37 Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo);
Michael J. Spencer 2:1df0b61d3b5a 38 return f->size();
Michael J. Spencer 2:1df0b61d3b5a 39 }