Open Source Sex Machine
Buy PartsFlash Device
  • OSSM - Open Source Sex Machine
  • Frequently Asked Questions
  • CAD Project
    • MAIN
      • OSSM CAD Project Release Notes
  • Documentation
    • Board_Design
    • New Standard Servo Motor
    • Hazards
    • Safety and designing for the OSSM
  • Software
    • OSSM Project Documentation
      • PlatformIO
    • Include Directory
    • Libraries Directory
      • StrokeEngine
        • CHANGELOG
        • Pattern
        • Examples
    • Testing
  • Hardware
    • Mounting Options
      • Deprecated - Ball Head Mount
      • OSSM - Basic Mount
      • OSSM - Extrusion Mount
      • Shicks 4040 mount
        • Modified 4040 parts
    • Printing the parts!
      • Choose your method for attaching a toy to the OSSM
        • 24mm Threaded Option
    • PCB Files
      • OSSM Remote V2
    • Servo Tools
      • Gold Motor
  • Printed Parts
    • Actuator
    • Mounting
      • PitClamp Mini
        • ASSEMBLY_GUIDES
        • PitClamp Mini Bill Of Materials
        • UPDATES
    • OSSM - Remote
    • Stand
    • OSSM Mods
      • PitClamp Mini Reinforced 3030 Hinges
      • PitClamp Mini Reinforced Standard
Powered by GitBook
On this page
  • Current Status
  • Future Changes
  • Adding Headers
Edit on GitHub
  1. Software

Include Directory

PreviousPlatformIONextLibraries Directory

Last updated 6 months ago

This directory currently contains the Boost.SML header-only library (boost/sml.hpp) for state machine functionality.

Current Status

While header-only libraries can be placed in either lib/ or include/, the current placement in include/ is suboptimal. The lib/ directory would be more appropriate because:

  1. It maintains consistency with PlatformIO's library management practices

  2. It groups all third-party dependencies in one location

  3. It follows the convention established by other dependencies in the project

Future Changes

The Boost.SML header will be relocated to the lib/ directory in a future update to align with PlatformIO best practices.

Adding Headers

For most dependencies, prefer:

  1. Adding them to platformio.ini if available through the PlatformIO Registry

  2. Placing them in the lib/ directory for third-party libraries

  3. Using this directory only for project-specific headers

For more information about PlatformIO dependency management, see:

Library Manager
Project Structure