The Snickerdoodle Book/Preface
Who Should Read This?
Learning something new should not require some extraordinary bravery. Learning something new should be fun and exciting. This text has been written to give people, of all backgrounds (including n00bs), the tools they need to get started on the projects they always wanted to build.
Quote: I am always doing that which I cannot do, in order that I may learn how to do it. - Pablo Picasso
Bringing ideas to life, especially ideas that rely heavily on technology, often requires a mixture of inventing new technologies and integrating existing technologies. Often the integration is more cumbersome than the invention, forcing people to focus on the nuts and bolts of their project rather than the part of their project they are most passionate about. With Snickerdoodle, a great deal of the heavy-lifting in integration has been done. This can significantly reduce development time and effort and allows you to bring your projects to completion faster. More importantly, this allows you to keep your focus on the high-level design of your project and what makes it unique.
This book is intended to provide an overview of this hardware-centered design approach. From this text you will gain a basic understanding of the capabilities Snickerdoodle and the design workflow for realizing those capabilities in applications. This text does not go into detail about specific applications (although many examples are offered) to keep the survey to a high-level overview.
Snickerdoodle introduces a level of customization that is not typically available on prototyping and development platforms. It accomplishes this by shifting some of the hardware design into the software domain. This adds an element of design that most developers are not used to addressing. Normally, hardware design is rigid and developers need to adapt their designs to fit within the constraints introduced by the hardware. With Snickerdoodle, this is not the case. Hardware can be reconfigured side-by- side with software design to adapt to the needs of a particular system, rather than the other way around.
This text indicates navigation items from within development environments and menus through a Menu » Submenu » Selection format. This includes navigating and selecting items from menu and tool bars as well as UI elements such as drop-down menus. Directory paths within a filesystem are indicated by Dir » Subdir » File. This includes paths on host machines as well as Snickerdoodle. Linux commands are indicated by Teletype text format, when referenced from within the text. Command usage is noted using a code listing with a $ to indicate a prompt. Code listings are also used to show snippets of code or file structures used for system configuration.
$ command arg1 [arg2 ...]
This book is by no means a comprehensive look at the capabilities of Snickerdoodle and much less a comprehensive look at Linux, wireless or embedded control systems. See the list of references at the end of this book, as well as the links within the text for additional reading.