Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by NicholasLindan

  1. CoRTOS V 1.10 is now available on Sourceforge at: https://sourceforge.net/projects/cortos-simple/ V 1.10 adds general purpose counting/binary/signaling semaphores. It also fixes a bug in the context save/restore for the AVR processor. Documentation has had some minor improvements. If you are using an older version you should incorporate the update. The change from the old resources to the newer semaphores should be painless.
  2. I've done this on products - powered an analog section off an I/O pin. It is the cheapest power control method - heck it's free and it takes no power to implement. If you need more current you can parallel two or more pins. There is no problem with parallel MOSFETs, they will current share as rdson increases with temperature.
  3. Announcing the release PRTOS, an open-source preemptive real time operating system kernel for bare-metal applications. You may find PRTOS a good choice if you want to learn about preemptive multitasking. The API, though having all the features of FreeRTOS or uC/OS, is much simpler and easier to learn. Additionally the system will fit into much smaller processors. PRTOS is released by Cleveland Engineering Design - the developer of the CoRTOS cooperative real time OS, also available on Sourceforge. PRTOS presently supports the MSP430 and AVR architectures. PRTOS is availab
  4. You wrote: "I would much prefer that you ..." That's not how it works. The world, and I, don't dance to your preferences.
  5. You uploaded the wrong version - it should be V1d01 - you can find it a few posts up. Don't you feel putting it on GitHub under your name and account is a bit presumptuous?
  6. The code is on Sourceforge https://sourceforge.net/projects/cortos-simple/ As far as being a "good first start" - well, I've been doing this for an awfully long time, as the picture of the old fart on the left should attest. Started with the 8008 in 1974... It's more of a "last start." If someone is doing something serious with the code I would be more than happy to help with support.
  7. Rick: I know that every time I grab code I edit it so it conforms to my needs, prejudices and sensibilities -- that makes the code mine, in a sense, and less foreign - and as I make the changes I get to mutter under my breath about the original author: "Bloody fool, what does he think he is doing." I expect any one using CoRTOS will want to and have to change it in some way and utter their own mutterings. So please, make changes to your heart's content with the source. In any work, everyone finds something to disagree on. What some find terminally annoying others find full of virt
  8. I make no claim to Energia mavenship. I was under the impression that the user's code was interpreted - it seems that is not the case.
  9. Well, it's a really small container of ice cream, almost the size of the free sample spoonful you might get with other RTOS's. Dive in and think "Peach." For those who don't want to do the download, here is the kernel: #include "common_defs.h" #include "CoRTOSkernel.h" #include "CoRTOStask.h" uint8_t current_task; static uint16_t sp_save [number_of_tasks]; static uint16_t starting_stack [number_of_tasks]; static boolean start_from_beginning [number_of_tasks]; static boolean suspended [number_of_tasks]; void relinquish (void) { asm volatile ("NOP":::"r2","r3","r4","r5","r6","r7"
  10. Rick - thanks very much for the review and bug catch. I have attached a V1d01 zip file with updates. There are two "Blinky" demonstration projects. I don't know if you made one or (as it seems) both. CoRTOSblinkyxxx.c is a one-file project that is specific to a processor. CoRTOSsuperblinky.c is a more elaborate demonstration that links into CoRTOS modules and is processor independent. In both cases, though, the processor is specified in CoRTOSuP.h. Yes, it isn't universal to the all the MSP430 variants. This isn't my day job, so some of the work will just have
  11. CoRTOS is, possibly, the world's simplest RTOS. After 35 years of writing RTOS systems I had the thought: "How simple can you make it?" It is a naked system meant for use in product, teaching and maker applications. The CoRTOS kernel compiles to ~200 bytes of code. You add features as needed: delays, mutexes, signaling, messaging - each feature adding, again, about 200 bytes. The development environment is CCS and GCC or the equivalent. It has been adopted in teaching environments as It is easy to trace through the code to see what is going on behind the scenes. It is well documente
  12. I'd start with a literature search. Just Googling "DSP ECG" throws up some relevant articles, starting with: https://www.intechopen.com/books/applications-of-digital-signal-processing/a-dsp-practical-application-working-on-ecg-signal (I always start with a literature search.) Following the citations in the above article brings up standard arrhythmia data sets at http://physionet.org/physiobank/database/mitdb/ You don't mention your application - medical (POC, personal arrhythmia alarm), excercise, JFA...I agree that your measurement data looks very suspect - there's lots of ECG tra
  13. CoRTOS is a Cooperative Real Time Operating System for bare-metal applications. Its advantages over other systems are that it is fully documented with a manual and examples, is easy to understand and use and is astonishingly simple: The kernel is just 16 lines of C. The CoRTOS module compiles to ~200 bytes of code. The system includes optional modules implementing delays, timers, messaging, mutexes and signaling. It is intended for smaller microprocessors, such as the MSP430, Cortex M0+, AVR and PIC24, and for smaller systems of maybe a dozen tasks. CoRTOS is not a task sched
  • Create New...