Compare commits

..

6 Commits
dev ... master

  1. 10
      README.md
  2. 0
      examples/sipo_pwm_74xx4094_595/Makefile
  3. 0
      examples/sipo_pwm_74xx4094_595/lib
  4. 0
      examples/sipo_pwm_74xx4094_595/main.c
  5. 9
      examples/sipo_pwm_74xx4094_595/sipo_pwm_config.h
  6. 23
      lib/sipo_pwm.h

@ -1,3 +1,9 @@
**This library is very old and unmaintained.**
There may be some good bits worth salvaging, but for new projects I recommend the [avr-c-boilerplate](https://github.com/MightyPork/avr-c-boilerplate) as a base instead. Copy and port good modules from this library if you like.
---
# "porklib", MightyPork's Arduino Library
This library aims to make development for AVR in C easy and fun.
@ -12,12 +18,12 @@ Pull requests to add new modules are welcome, please go ahead!
## Makefile
You can use the provided Makefile to boild your project with this library.
You can use the provided Makefile to build your project with this library.
A project typically consists of one `main.c` file, and some `*_config.c` files where the
library headers request it (those define eg. IO pin mapping).
Adjust the Makefile to yoru needs!
Adjust the Makefile to your needs!
## License

@ -1,10 +1,17 @@
/* Config for SIPO PWM */
// PWM pin aliases
// --- PWM pin aliases ---
// Store signal
#define SPWM_STR D2
// Shift/clock signal
#define SPWM_CLK D3
// Data signal
#define SPWM_DATA D4
// --- Other settings ---
// Number of PWM levels (color depth)
#define SPWM_COLOR_DEPTH 256

@ -2,29 +2,34 @@
// --- SIPO PWM Module ---
//
// SIPO = Serial IN, Parallel OUT
// SIPO = shift register with paralel output.
//
// This module lets you use SIPO outputs as a "software PWM".
//
// Tested on 74HC4094,
// should also work on 74HC595 (may need some small changes)
// Tested to work on 74hc4094 and 74hc595
#include <stdint.h>
// Your file with configs
#include "sipo_pwm_config.h"
/*
// PWM pin aliases
// --- PWM pin aliases ---
// Store signal
#define SPWM_STR D2
// Shift/clock signal
#define SPWM_CLK D3
// Data signal
#define SPWM_DATA D4
// --- Other settings ---
// Number of PWM levels (color depth)
#define SPWM_COLOR_DEPTH 256
// Number of SIPO channels
#define SPWM_CHANNELS 24
// Invert outputs (for Common Anode LEDs)
#define SPWM_INVERT 1
*/
@ -38,7 +43,7 @@ extern uint8_t spwm_levels[SPWM_CHANNELS];
void spwm_init();
/** Display PWM channels.
* This could be called in a Timer ISR.
/** Perform one PWM cycle.
* This should be called in a Timer ISR or a loop.
*/
void spwm_send();

Loading…
Cancel
Save