Beispiel #1
0
void starburst_init()
{
	/*Init all i2c chips*/
#ifdef STARBURST_PCA9685
	i2c_pca9685_set_mode(STARBURST_PCA9685_ADDRESS,STARBURST_PCA9685_EXTDRV,STARBURST_PCA9685_IVRT,STARBURST_PCA9685_PRESCALER);
	//Connect to dmx-storage
	pca9685_dmx_conn_id=dmx_storage_connect(STARBURST_PCA9685_UNIVERSE);
	if(pca9685_dmx_conn_id != -1)
		pca9685_dmx_connected = TRUE;
	else
		pca9685_dmx_connected = FALSE;
#endif
}
Beispiel #2
0
void
ws2801_init(void)
{
  //Connect to dmx-storage
  dmx_conn_id = dmx_storage_connect(WS2801_UNIVERSE);
  if (dmx_conn_id != -1)
    dmx_connected = TRUE;
  else
    dmx_connected = FALSE;

  ws2801 = 1;
  ws2801_clear();
}
Beispiel #3
0
/* ----------------------------------------------------------------------------
 * initialization of Art-Net
 */
void
artnet_init(void)
{

  ARTNET_DEBUG("Init\n");
  /* read Art-Net port */
  artnet_port = CONF_ARTNET_PORT;
  /* read netconfig */
  artnet_netConfig = NETCONFIG_DEFAULT;

  /* read subnet */
  artnet_subNet = SUBNET_DEFAULT;
  artnet_inputUniverse = CONF_ARTNET_INUNIVERSE;
  artnet_outputUniverse = CONF_ARTNET_OUTUNIVERSE;
#ifdef CONF_ARTNET_SEND_POLL_REPLY
  artnet_sendPollReplyOnChange = 1;
#else
  artnet_sendPollReplyOnChange = 0;
#endif
  strcpy_P(artnet_shortName, PSTR("e6ArtNode"));
  strcpy_P(artnet_longName, PSTR("e6ArtNode hostname: " CONF_HOSTNAME));

  set_CONF_ARTNET_OUTPUT_IP(&artnet_outputTarget);

  /* dmx storage connection */
  artnet_conn_id = dmx_storage_connect(artnet_inputUniverse);
  if (artnet_conn_id != -1)
  {
    artnet_connected = TRUE;
    ARTNET_DEBUG("Connection to dmx-storage established! id:%d\r\n",
                 artnet_conn_id);
  }
  else
  {
    artnet_connected = FALSE;
    ARTNET_DEBUG("Connection to dmx-storage couldn't be established!\r\n");
  }

  /* net_init */
  artnet_netInit();

  /* annouce that we are here  */
  ARTNET_DEBUG("send PollReply\n");
  artnet_sendPollReply(&all_ones_addr);

  /* enable PollReply on changes */
  artnet_sendPollReplyOnChange = TRUE;
  ARTNET_DEBUG("init complete\n");
  return;
}
Beispiel #4
0
void
stella_init(void)
{
  int_table = &timetable_1;
  cal_table = &timetable_2;
  cal_table->head = 0;

  stella_sync = NOTHING_NEW;

  /* set stella port pins to output and save the port mask */
  stella_portmask[0] = ((1 << STELLA_PINS_PORT1) - 1) << STELLA_OFFSET_PORT1;
  STELLA_DDR_PORT1 |= stella_portmask[0];
  cal_table->port[0].port = &STELLA_PORT1;
  cal_table->port[0].mask = 0;
#ifdef STELLA_PINS_PORT2
  stella_portmask[1] = ((1 << STELLA_PINS_PORT2) - 1) << STELLA_OFFSET_PORT2;
  STELLA_DDR_PORT2 |= stella_portmask[1];
  cal_table->port[0].port = &STELLA_PORT2;
  cal_table->port[1].mask = 0;
#endif

  /* initialise the fade counter. Fading works like this:
   * -> decrement fade_counter
   * -> on zero, fade if neccessary
   * -> reset counter to fade_step
   */
  stella_fade_counter = stella_fade_step;

#if !defined(TEENSY_SUPPORT) && STELLA_START == stella_start_eeprom
  stella_loadFromEEROMFading();
#endif
#if STELLA_START == stella_start_all
  memset(stella_fade, 255, sizeof(stella_fade));
#endif
#if STELLA_START == stella_start_zero
  memset(stella_fade, 0, sizeof(stella_fade));
#endif

  stella_sort();

  /* we need at least 64 ticks for the compare interrupt,
   * therefore choose a prescaler of at least 64. */
#if STELLA_FREQ == stella_vslow
  STELLA_TC_PRESCALER_1024;
  debug_printf("Stella freq: %u Hz\n", F_CPU / 1024 / (256 * 2));
#elif STELLA_FREQ == stella_slow
  STELLA_TC_PRESCALER_256;
  debug_printf("Stella freq: %u Hz\n", F_CPU / 256 / (256 * 2));
#elif STELLA_FREQ == stella_normal
  STELLA_TC_PRESCALER_128;
  debug_printf("Stella freq: %u Hz\n", F_CPU / 128 / (256 * 2));
#elif STELLA_FREQ == stella_fast
  STELLA_TC_PRESCALER_64;
  debug_printf("Stella freq: %u Hz\n", F_CPU / 64 / (256 * 2));
#endif

  STELLA_TC_INT_OVERFLOW_ON;
  STELLA_TC_INT_COMPARE_ON;

#ifdef DMX_STORAGE_SUPPORT
  /* Setup DMX-Storage Connection */
  stella_dmx_conn_id = dmx_storage_connect(STELLA_UNIVERSE);
#endif
}