Compare commits
48 Commits
Author | SHA1 | Date |
---|---|---|
Leon Wilzer | e8facb4f4d | |
Leon Wilzer | 5d11173711 | |
Leon Wilzer | f0ca3f02b6 | |
Leon Wilzer | 7464eb67e8 | |
Leon Wilzer | 04ab351a79 | |
Leon Wilzer | d54970289c | |
Leon Wilzer | e6c9b03ee9 | |
Leon Wilzer | 8709e0c415 | |
Leon Wilzer | 1439693cf5 | |
Leon Wilzer | e1adace604 | |
Leon Wilzer | 3612b4b5df | |
Leon Wilzer | 7fd61af329 | |
Leon Wilzer | 6f279e01d8 | |
Leon Wilzer | 96f368b4f5 | |
Leon Wilzer | 9d3e9ccb45 | |
Leon Wilzer | f6a63d8c5a | |
Leon Wilzer | dd224fc223 | |
Leon Wilzer | c8e8b722be | |
Leon Wilzer | 941fcb8205 | |
Leon Wilzer | f34c6acec4 | |
Leon Wilzer | a7d49dbd9c | |
Leon Wilzer | f2f0b2dccb | |
Leon Wilzer | 16d8cc01dc | |
Leon Wilzer | 1b38c4d638 | |
Leon Wilzer | ac505afafe | |
Leon Wilzer | 6c89a5b0d3 | |
Leon Wilzer | e786945b8a | |
Leon Wilzer | 18f7beaf6d | |
Leon Wilzer | 1ca43965b1 | |
Leon Wilzer | 2db70bae65 | |
Leon Wilzer | c9462ecb16 | |
Leon Wilzer | 4ab315cb0e | |
Leon Wilzer | 4c542dc5d7 | |
Leon Wilzer | 244791623c | |
Leon Wilzer | 87e796e265 | |
Leon Wilzer | 5a01c153b7 | |
Leon Wilzer | f2084052d6 | |
Leon Wilzer | 9c5d6fa7d1 | |
Leon Wilzer | f6c99df275 | |
Leon Wilzer | d37cccced7 | |
Leon Wilzer | 2ff6570588 | |
Leon Wilzer | 715d1fb59d | |
Leon Wilzer | 95f4b78eb2 | |
Leon Wilzer | 118ce9b99c | |
Leon Wilzer | 76308a81dc | |
Leon Wilzer | e36debccbb | |
Leon Wilzer | 812ec58d0d | |
Leon Wilzer | 2f3214dbeb |
|
@ -86,5 +86,3 @@ dkms.conf
|
||||||
*.out
|
*.out
|
||||||
*.app
|
*.app
|
||||||
|
|
||||||
# kicad backups
|
|
||||||
*-backups
|
|
||||||
|
|
|
@ -1,180 +1,153 @@
|
||||||
//=============================================================================
|
// #include <stddef.h>
|
||||||
// Demo program "Light run".
|
|
||||||
//
|
|
||||||
// Can be run under control of the ROBO TX Controller
|
|
||||||
// firmware in download (local) mode.
|
|
||||||
// Switches one after another six lamps connected to the outputs O1...O6.
|
|
||||||
//
|
|
||||||
// Disclaimer - Exclusion of Liability
|
|
||||||
//
|
|
||||||
// This software is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE. It can be used and modified by anyone
|
|
||||||
// free of any license obligations or authoring rights.
|
|
||||||
//=============================================================================
|
|
||||||
|
|
||||||
#include "ROBO_TX_PRG.h"
|
#include "ROBO_TX_PRG.h"
|
||||||
|
#include "ROBO_TX_FW.h"
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
#define LIGHT_ON DUTY_MAX
|
#define LIGHT_MAX DUTY_MAX
|
||||||
#define LIGHT_OFF 0
|
#define LIGHT_MIN DUTY_MIN
|
||||||
|
#define LIGHT_OFF 0
|
||||||
|
#define wait 10
|
||||||
|
|
||||||
|
#define RC 0x7FFF // return code: 0x7FFF - program should be further called by the firmware;
|
||||||
|
#define sRC 0
|
||||||
|
|
||||||
#define BEG_LAMP_IDX 0
|
#define BEG_LAMP_IDX 0
|
||||||
#define END_LAMP_IDX 0
|
#define END_LAMP_IDX 2
|
||||||
|
#define COLOR_AMOUNT 3
|
||||||
|
enum color_pin {RED, GREEN, BLUE};
|
||||||
|
enum color_spectrum {pr, mb, pg, mr, pb, mg};
|
||||||
|
|
||||||
static unsigned long cur_time;
|
static unsigned long cur_time;
|
||||||
static unsigned long prev_time;
|
static unsigned long prev_time;
|
||||||
static enum {ON_1, PAUSE_1, ON_2, PAUSE_2} stage;
|
static short* states[COLOR_AMOUNT];
|
||||||
|
short green_state;
|
||||||
|
short red_state;
|
||||||
|
short blue_state;
|
||||||
|
enum color_pin pin;
|
||||||
|
enum color_spectrum spectrum_state;
|
||||||
static int lamp_idx;
|
static int lamp_idx;
|
||||||
static int n_loops;
|
static int n_loops;
|
||||||
static int wait;
|
|
||||||
|
|
||||||
|
void simple_rgb_test(TA * p_ta_array);
|
||||||
|
void spectrum();
|
||||||
|
void update_lights(TA * p_ta_array);
|
||||||
|
|
||||||
/*-----------------------------------------------------------------------------
|
|
||||||
* Function Name : PrgInit
|
|
||||||
*
|
|
||||||
* This it the program initialization.
|
|
||||||
* It is called once.
|
|
||||||
*-----------------------------------------------------------------------------*/
|
|
||||||
void PrgInit
|
void PrgInit
|
||||||
(
|
(
|
||||||
TA * p_ta_array, // pointer to the array of transfer areas
|
TA * p_ta_array, // pointer to the array of transfer areas
|
||||||
int ta_count // number of transfer areas in array (equal to TA_COUNT)
|
int ta_count // number of transfer areas in array (equal to TA_COUNT)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
prev_time = 0;
|
prev_time = 0;
|
||||||
stage = ON_2;
|
red_state = LIGHT_MIN;
|
||||||
lamp_idx = BEG_LAMP_IDX;
|
green_state = LIGHT_MIN;
|
||||||
n_loops = 10;
|
blue_state = LIGHT_MIN;
|
||||||
wait = 1000;
|
states[0] = &red_state;
|
||||||
|
states[1] = &green_state;
|
||||||
|
states[2] = &blue_state;
|
||||||
|
spectrum_state = 0;
|
||||||
|
pin = 0;
|
||||||
|
lamp_idx = BEG_LAMP_IDX;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------------------------
|
|
||||||
* Function Name : PrgTic
|
|
||||||
*
|
|
||||||
* This is the main function of this program.
|
|
||||||
* It is called every tic (1 ms) realtime.
|
|
||||||
*-----------------------------------------------------------------------------*/
|
|
||||||
int PrgTic
|
int PrgTic
|
||||||
(
|
(
|
||||||
TA * p_ta_array, // pointer to the array of transfer areas
|
TA * p_ta_array, // pointer to the array of transfer areas
|
||||||
int ta_count // number of transfer areas in array (equal to TA_COUNT)
|
int ta_count // number of transfer areas in array (equal to TA_COUNT)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
int rc = 0x7FFF; // return code: 0x7FFF - program should be further called by the firmware;
|
TA * p_ta = &p_ta_array[TA_LOCAL];
|
||||||
// 0 - program should be normally stopped by the firmware;
|
|
||||||
// any other value is considered by the firmware as an error code
|
|
||||||
// and the program is stopped.
|
|
||||||
TA * p_ta = &p_ta_array[TA_LOCAL];
|
|
||||||
|
|
||||||
// Get the current value of the system time
|
// Get the current value of the system time
|
||||||
cur_time = p_ta->hook_table.GetSystemTime(TIMER_UNIT_MILLISECONDS);
|
cur_time = p_ta->hook_table.GetSystemTime(TIMER_UNIT_MILLISECONDS);
|
||||||
|
// if(cur_time-prev_time>=wait)
|
||||||
while (1)
|
// {
|
||||||
{
|
// prev_time = cur_time;
|
||||||
switch (stage)
|
// simple_rgb_test(p_ta_array);
|
||||||
{
|
// update_lights(p_ta_array);
|
||||||
case ON_1:
|
// }
|
||||||
if (prev_time == 0)
|
if(cur_time-prev_time>=wait)
|
||||||
{
|
{
|
||||||
// Switch the current lamp on
|
prev_time = cur_time;
|
||||||
p_ta->output.duty[lamp_idx] = LIGHT_ON;
|
spectrum();
|
||||||
|
update_lights(p_ta_array);
|
||||||
// Store the current value of the system time
|
}
|
||||||
prev_time = cur_time;
|
return RC;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// The lamp should be on for the number of milliseconds from the variable "wait"
|
|
||||||
if (cur_time - prev_time >= wait)
|
|
||||||
{
|
|
||||||
// Switch the current lamp off
|
|
||||||
p_ta->output.duty[lamp_idx] = LIGHT_OFF;
|
|
||||||
|
|
||||||
if (lamp_idx + 1 <= END_LAMP_IDX)
|
|
||||||
{
|
|
||||||
prev_time = 0;
|
|
||||||
lamp_idx++; // switch to the next lamp
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Store the current value of the system time
|
|
||||||
prev_time = cur_time;
|
|
||||||
|
|
||||||
stage = PAUSE_1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return rc;
|
|
||||||
|
|
||||||
case PAUSE_1:
|
|
||||||
// All lamps should be off for the number of milliseconds from the variable "wait"
|
|
||||||
if (cur_time - prev_time >= wait)
|
|
||||||
{
|
|
||||||
prev_time = 0;
|
|
||||||
stage = ON_2;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
case ON_2:
|
|
||||||
if (prev_time == 0)
|
|
||||||
{
|
|
||||||
// Switch the current lamp on
|
|
||||||
p_ta->output.duty[lamp_idx] = LIGHT_ON;
|
|
||||||
|
|
||||||
// Store the current value of the system time
|
|
||||||
prev_time = cur_time;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// The lamp should be on for the number of milliseconds from the variable "wait"
|
|
||||||
if (cur_time - prev_time >= wait)
|
|
||||||
{
|
|
||||||
// Switch the current lamp off
|
|
||||||
p_ta->output.duty[lamp_idx] = LIGHT_OFF;
|
|
||||||
|
|
||||||
if (lamp_idx - 1 >= BEG_LAMP_IDX)
|
|
||||||
{
|
|
||||||
prev_time = 0;
|
|
||||||
lamp_idx--; // switch to the previous lamp
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Store the current value of the system time
|
|
||||||
prev_time = cur_time;
|
|
||||||
|
|
||||||
stage = PAUSE_2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return rc;
|
|
||||||
|
|
||||||
case PAUSE_2:
|
|
||||||
// All lamps should be off for 1 second
|
|
||||||
if (cur_time - prev_time >= 1000)
|
|
||||||
{
|
|
||||||
if (--n_loops <= 0)
|
|
||||||
{
|
|
||||||
rc = 0; // stop program
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
wait /= 2;
|
|
||||||
prev_time = 0;
|
|
||||||
stage = ON_1;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return rc;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return rc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void spectrum()
|
||||||
|
{
|
||||||
|
switch(spectrum_state)
|
||||||
|
{
|
||||||
|
case pr:
|
||||||
|
if(++red_state>LIGHT_MAX) {++spectrum_state;}
|
||||||
|
break;
|
||||||
|
case mb:
|
||||||
|
if(--blue_state<LIGHT_MIN) {++spectrum_state;}
|
||||||
|
break;
|
||||||
|
case pg:
|
||||||
|
if(++green_state>LIGHT_MAX) {++spectrum_state;}
|
||||||
|
break;
|
||||||
|
case mr:
|
||||||
|
if(--red_state<LIGHT_MIN) {++spectrum_state;}
|
||||||
|
break;
|
||||||
|
case pb:
|
||||||
|
if(++blue_state>LIGHT_MAX) {++spectrum_state;}
|
||||||
|
break;
|
||||||
|
case mg:
|
||||||
|
if(--green_state<LIGHT_MIN) {spectrum_state = 0;}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
spectrum_state = pr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void simple_rgb_test
|
||||||
|
(
|
||||||
|
TA * p_ta_array // pointer to the array of transfer areas
|
||||||
|
)
|
||||||
|
{
|
||||||
|
TA * p_ta = &p_ta_array[TA_LOCAL];
|
||||||
|
p_ta->hook_table.DisplayMsg(p_ta, NULL);
|
||||||
|
|
||||||
|
switch(pin)
|
||||||
|
{
|
||||||
|
|
||||||
|
case RED:
|
||||||
|
p_ta->hook_table.DisplayMsg(p_ta, "RED");
|
||||||
|
blue_state = LIGHT_MIN;
|
||||||
|
red_state = LIGHT_MAX;
|
||||||
|
pin = GREEN;
|
||||||
|
break;
|
||||||
|
case GREEN:
|
||||||
|
p_ta->hook_table.DisplayMsg(p_ta, "GREEN");
|
||||||
|
red_state = LIGHT_MIN;
|
||||||
|
green_state = LIGHT_MAX;
|
||||||
|
pin = BLUE;
|
||||||
|
break;
|
||||||
|
case BLUE:
|
||||||
|
p_ta->hook_table.DisplayMsg(p_ta, "BLUE");
|
||||||
|
green_state = LIGHT_MIN;
|
||||||
|
blue_state = LIGHT_MAX;
|
||||||
|
pin = RED;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
p_ta->hook_table.DisplayMsg(p_ta, NULL);
|
||||||
|
pin = RED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void update_lights(TA * p_ta_array)
|
||||||
|
{
|
||||||
|
TA * p_ta = &p_ta_array[TA_LOCAL];
|
||||||
|
if(red_state>LIGHT_MAX) { red_state = LIGHT_MAX; }
|
||||||
|
if(green_state>LIGHT_MAX) { green_state=LIGHT_MAX; }
|
||||||
|
if(blue_state>LIGHT_MAX) { blue_state = LIGHT_MAX; }
|
||||||
|
|
||||||
|
if(red_state<LIGHT_MIN) { red_state = LIGHT_MIN; }
|
||||||
|
if(green_state<LIGHT_MIN) { green_state=LIGHT_MIN; }
|
||||||
|
if(blue_state<LIGHT_MIN) { blue_state = LIGHT_MIN; }
|
||||||
|
|
||||||
|
p_ta->output.duty[RED] = red_state;
|
||||||
|
p_ta->output.duty[GREEN] = green_state;
|
||||||
|
p_ta->output.duty[BLUE] = blue_state;
|
||||||
|
}
|
|
@ -0,0 +1,180 @@
|
||||||
|
//=============================================================================
|
||||||
|
// Demo program "Light run".
|
||||||
|
//
|
||||||
|
// Can be run under control of the ROBO TX Controller
|
||||||
|
// firmware in download (local) mode.
|
||||||
|
// Switches one after another six lamps connected to the outputs O1...O6.
|
||||||
|
//
|
||||||
|
// Disclaimer - Exclusion of Liability
|
||||||
|
//
|
||||||
|
// This software is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE. It can be used and modified by anyone
|
||||||
|
// free of any license obligations or authoring rights.
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
#include "ROBO_TX_PRG.h"
|
||||||
|
|
||||||
|
#define LIGHT_ON DUTY_MAX
|
||||||
|
#define LIGHT_OFF 0
|
||||||
|
|
||||||
|
#define BEG_LAMP_IDX 0
|
||||||
|
#define END_LAMP_IDX 0
|
||||||
|
|
||||||
|
static unsigned long cur_time;
|
||||||
|
static unsigned long prev_time;
|
||||||
|
static enum {ON_1, PAUSE_1, ON_2, PAUSE_2} stage;
|
||||||
|
static int lamp_idx;
|
||||||
|
static int n_loops;
|
||||||
|
static int wait;
|
||||||
|
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
* Function Name : PrgInit
|
||||||
|
*
|
||||||
|
* This it the program initialization.
|
||||||
|
* It is called once.
|
||||||
|
*-----------------------------------------------------------------------------*/
|
||||||
|
void PrgInit
|
||||||
|
(
|
||||||
|
TA * p_ta_array, // pointer to the array of transfer areas
|
||||||
|
int ta_count // number of transfer areas in array (equal to TA_COUNT)
|
||||||
|
)
|
||||||
|
{
|
||||||
|
prev_time = 0;
|
||||||
|
stage = ON_2;
|
||||||
|
lamp_idx = BEG_LAMP_IDX;
|
||||||
|
n_loops = 10;
|
||||||
|
wait = 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
* Function Name : PrgTic
|
||||||
|
*
|
||||||
|
* This is the main function of this program.
|
||||||
|
* It is called every tic (1 ms) realtime.
|
||||||
|
*-----------------------------------------------------------------------------*/
|
||||||
|
int PrgTic
|
||||||
|
(
|
||||||
|
TA * p_ta_array, // pointer to the array of transfer areas
|
||||||
|
int ta_count // number of transfer areas in array (equal to TA_COUNT)
|
||||||
|
)
|
||||||
|
{
|
||||||
|
int rc = 0x7FFF; // return code: 0x7FFF - program should be further called by the firmware;
|
||||||
|
// 0 - program should be normally stopped by the firmware;
|
||||||
|
// any other value is considered by the firmware as an error code
|
||||||
|
// and the program is stopped.
|
||||||
|
TA * p_ta = &p_ta_array[TA_LOCAL];
|
||||||
|
|
||||||
|
// Get the current value of the system time
|
||||||
|
cur_time = p_ta->hook_table.GetSystemTime(TIMER_UNIT_MILLISECONDS);
|
||||||
|
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
switch (stage)
|
||||||
|
{
|
||||||
|
case ON_1:
|
||||||
|
if (prev_time == 0)
|
||||||
|
{
|
||||||
|
// Switch the current lamp on
|
||||||
|
p_ta->output.duty[lamp_idx] = LIGHT_ON;
|
||||||
|
|
||||||
|
// Store the current value of the system time
|
||||||
|
prev_time = cur_time;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// The lamp should be on for the number of milliseconds from the variable "wait"
|
||||||
|
if (cur_time - prev_time >= wait)
|
||||||
|
{
|
||||||
|
// Switch the current lamp off
|
||||||
|
p_ta->output.duty[lamp_idx] = LIGHT_OFF;
|
||||||
|
|
||||||
|
if (lamp_idx + 1 <= END_LAMP_IDX)
|
||||||
|
{
|
||||||
|
prev_time = 0;
|
||||||
|
lamp_idx++; // switch to the next lamp
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Store the current value of the system time
|
||||||
|
prev_time = cur_time;
|
||||||
|
|
||||||
|
stage = PAUSE_1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
|
||||||
|
case PAUSE_1:
|
||||||
|
// All lamps should be off for the number of milliseconds from the variable "wait"
|
||||||
|
if (cur_time - prev_time >= wait)
|
||||||
|
{
|
||||||
|
prev_time = 0;
|
||||||
|
stage = ON_2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
case ON_2:
|
||||||
|
if (prev_time == 0)
|
||||||
|
{
|
||||||
|
// Switch the current lamp on
|
||||||
|
p_ta->output.duty[lamp_idx] = LIGHT_ON;
|
||||||
|
|
||||||
|
// Store the current value of the system time
|
||||||
|
prev_time = cur_time;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// The lamp should be on for the number of milliseconds from the variable "wait"
|
||||||
|
if (cur_time - prev_time >= wait)
|
||||||
|
{
|
||||||
|
// Switch the current lamp off
|
||||||
|
p_ta->output.duty[lamp_idx] = LIGHT_OFF;
|
||||||
|
|
||||||
|
if (lamp_idx - 1 >= BEG_LAMP_IDX)
|
||||||
|
{
|
||||||
|
prev_time = 0;
|
||||||
|
lamp_idx--; // switch to the previous lamp
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Store the current value of the system time
|
||||||
|
prev_time = cur_time;
|
||||||
|
|
||||||
|
stage = PAUSE_2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
|
||||||
|
case PAUSE_2:
|
||||||
|
// All lamps should be off for 1 second
|
||||||
|
if (cur_time - prev_time >= 1000)
|
||||||
|
{
|
||||||
|
if (--n_loops <= 0)
|
||||||
|
{
|
||||||
|
rc = 0; // stop program
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
wait /= 2;
|
||||||
|
prev_time = 0;
|
||||||
|
stage = ON_1;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
2398
Elysium.kicad_pcb
2398
Elysium.kicad_pcb
File diff suppressed because it is too large
Load Diff
|
@ -1,77 +0,0 @@
|
||||||
{
|
|
||||||
"board": {
|
|
||||||
"active_layer": 0,
|
|
||||||
"active_layer_preset": "All Layers",
|
|
||||||
"auto_track_width": true,
|
|
||||||
"hidden_netclasses": [],
|
|
||||||
"hidden_nets": [],
|
|
||||||
"high_contrast_mode": 0,
|
|
||||||
"net_color_mode": 1,
|
|
||||||
"opacity": {
|
|
||||||
"images": 0.6,
|
|
||||||
"pads": 1.0,
|
|
||||||
"tracks": 1.0,
|
|
||||||
"vias": 1.0,
|
|
||||||
"zones": 0.6
|
|
||||||
},
|
|
||||||
"selection_filter": {
|
|
||||||
"dimensions": true,
|
|
||||||
"footprints": true,
|
|
||||||
"graphics": true,
|
|
||||||
"keepouts": true,
|
|
||||||
"lockedItems": false,
|
|
||||||
"otherItems": true,
|
|
||||||
"pads": true,
|
|
||||||
"text": true,
|
|
||||||
"tracks": true,
|
|
||||||
"vias": true,
|
|
||||||
"zones": true
|
|
||||||
},
|
|
||||||
"visible_items": [
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
2,
|
|
||||||
3,
|
|
||||||
4,
|
|
||||||
5,
|
|
||||||
8,
|
|
||||||
9,
|
|
||||||
10,
|
|
||||||
11,
|
|
||||||
12,
|
|
||||||
13,
|
|
||||||
15,
|
|
||||||
16,
|
|
||||||
17,
|
|
||||||
18,
|
|
||||||
19,
|
|
||||||
20,
|
|
||||||
21,
|
|
||||||
22,
|
|
||||||
23,
|
|
||||||
24,
|
|
||||||
25,
|
|
||||||
26,
|
|
||||||
27,
|
|
||||||
28,
|
|
||||||
29,
|
|
||||||
30,
|
|
||||||
32,
|
|
||||||
33,
|
|
||||||
34,
|
|
||||||
35,
|
|
||||||
36,
|
|
||||||
39,
|
|
||||||
40
|
|
||||||
],
|
|
||||||
"visible_layers": "fffffff_ffffffff",
|
|
||||||
"zone_display_mode": 0
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"filename": "Elysium.kicad_prl",
|
|
||||||
"version": 3
|
|
||||||
},
|
|
||||||
"project": {
|
|
||||||
"files": []
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,231 +0,0 @@
|
||||||
{
|
|
||||||
"board": {
|
|
||||||
"3dviewports": [],
|
|
||||||
"design_settings": {
|
|
||||||
"defaults": {
|
|
||||||
"board_outline_line_width": 0.09999999999999999,
|
|
||||||
"copper_line_width": 0.19999999999999998,
|
|
||||||
"copper_text_italic": false,
|
|
||||||
"copper_text_size_h": 1.5,
|
|
||||||
"copper_text_size_v": 1.5,
|
|
||||||
"copper_text_thickness": 0.3,
|
|
||||||
"copper_text_upright": false,
|
|
||||||
"courtyard_line_width": 0.049999999999999996,
|
|
||||||
"dimension_precision": 4,
|
|
||||||
"dimension_units": 3,
|
|
||||||
"dimensions": {
|
|
||||||
"arrow_length": 1270000,
|
|
||||||
"extension_offset": 500000,
|
|
||||||
"keep_text_aligned": true,
|
|
||||||
"suppress_zeroes": false,
|
|
||||||
"text_position": 0,
|
|
||||||
"units_format": 1
|
|
||||||
},
|
|
||||||
"fab_line_width": 0.09999999999999999,
|
|
||||||
"fab_text_italic": false,
|
|
||||||
"fab_text_size_h": 1.0,
|
|
||||||
"fab_text_size_v": 1.0,
|
|
||||||
"fab_text_thickness": 0.15,
|
|
||||||
"fab_text_upright": false,
|
|
||||||
"other_line_width": 0.15,
|
|
||||||
"other_text_italic": false,
|
|
||||||
"other_text_size_h": 1.0,
|
|
||||||
"other_text_size_v": 1.0,
|
|
||||||
"other_text_thickness": 0.15,
|
|
||||||
"other_text_upright": false,
|
|
||||||
"pads": {
|
|
||||||
"drill": 0.762,
|
|
||||||
"height": 1.524,
|
|
||||||
"width": 1.524
|
|
||||||
},
|
|
||||||
"silk_line_width": 0.15,
|
|
||||||
"silk_text_italic": false,
|
|
||||||
"silk_text_size_h": 1.0,
|
|
||||||
"silk_text_size_v": 1.0,
|
|
||||||
"silk_text_thickness": 0.15,
|
|
||||||
"silk_text_upright": false,
|
|
||||||
"zones": {
|
|
||||||
"min_clearance": 0.5
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"diff_pair_dimensions": [],
|
|
||||||
"drc_exclusions": [],
|
|
||||||
"meta": {
|
|
||||||
"version": 2
|
|
||||||
},
|
|
||||||
"rule_severities": {
|
|
||||||
"annular_width": "error",
|
|
||||||
"clearance": "error",
|
|
||||||
"connection_width": "warning",
|
|
||||||
"copper_edge_clearance": "error",
|
|
||||||
"copper_sliver": "warning",
|
|
||||||
"courtyards_overlap": "error",
|
|
||||||
"diff_pair_gap_out_of_range": "error",
|
|
||||||
"diff_pair_uncoupled_length_too_long": "error",
|
|
||||||
"drill_out_of_range": "error",
|
|
||||||
"duplicate_footprints": "warning",
|
|
||||||
"extra_footprint": "warning",
|
|
||||||
"footprint": "error",
|
|
||||||
"footprint_type_mismatch": "ignore",
|
|
||||||
"hole_clearance": "error",
|
|
||||||
"hole_near_hole": "error",
|
|
||||||
"invalid_outline": "error",
|
|
||||||
"isolated_copper": "warning",
|
|
||||||
"item_on_disabled_layer": "error",
|
|
||||||
"items_not_allowed": "error",
|
|
||||||
"length_out_of_range": "error",
|
|
||||||
"lib_footprint_issues": "warning",
|
|
||||||
"lib_footprint_mismatch": "warning",
|
|
||||||
"malformed_courtyard": "error",
|
|
||||||
"microvia_drill_out_of_range": "error",
|
|
||||||
"missing_courtyard": "ignore",
|
|
||||||
"missing_footprint": "warning",
|
|
||||||
"net_conflict": "warning",
|
|
||||||
"npth_inside_courtyard": "ignore",
|
|
||||||
"padstack": "warning",
|
|
||||||
"pth_inside_courtyard": "ignore",
|
|
||||||
"shorting_items": "error",
|
|
||||||
"silk_edge_clearance": "warning",
|
|
||||||
"silk_over_copper": "warning",
|
|
||||||
"silk_overlap": "warning",
|
|
||||||
"skew_out_of_range": "error",
|
|
||||||
"solder_mask_bridge": "error",
|
|
||||||
"starved_thermal": "error",
|
|
||||||
"text_height": "warning",
|
|
||||||
"text_thickness": "warning",
|
|
||||||
"through_hole_pad_without_hole": "error",
|
|
||||||
"too_many_vias": "error",
|
|
||||||
"track_dangling": "warning",
|
|
||||||
"track_width": "error",
|
|
||||||
"tracks_crossing": "error",
|
|
||||||
"unconnected_items": "error",
|
|
||||||
"unresolved_variable": "error",
|
|
||||||
"via_dangling": "warning",
|
|
||||||
"zones_intersect": "error"
|
|
||||||
},
|
|
||||||
"rules": {
|
|
||||||
"max_error": 0.005,
|
|
||||||
"min_clearance": 0.0,
|
|
||||||
"min_connection": 0.0,
|
|
||||||
"min_copper_edge_clearance": 0.0,
|
|
||||||
"min_hole_clearance": 0.25,
|
|
||||||
"min_hole_to_hole": 0.25,
|
|
||||||
"min_microvia_diameter": 0.19999999999999998,
|
|
||||||
"min_microvia_drill": 0.09999999999999999,
|
|
||||||
"min_resolved_spokes": 2,
|
|
||||||
"min_silk_clearance": 0.0,
|
|
||||||
"min_text_height": 0.7999999999999999,
|
|
||||||
"min_text_thickness": 0.08,
|
|
||||||
"min_through_hole_diameter": 0.3,
|
|
||||||
"min_track_width": 0.0,
|
|
||||||
"min_via_annular_width": 0.09999999999999999,
|
|
||||||
"min_via_diameter": 0.5,
|
|
||||||
"solder_mask_clearance": 0.0,
|
|
||||||
"solder_mask_min_width": 0.0,
|
|
||||||
"solder_mask_to_copper_clearance": 0.0,
|
|
||||||
"use_height_for_length_calcs": true
|
|
||||||
},
|
|
||||||
"teardrop_options": [
|
|
||||||
{
|
|
||||||
"td_allow_use_two_tracks": true,
|
|
||||||
"td_curve_segcount": 5,
|
|
||||||
"td_on_pad_in_zone": false,
|
|
||||||
"td_onpadsmd": true,
|
|
||||||
"td_onroundshapesonly": false,
|
|
||||||
"td_ontrackend": false,
|
|
||||||
"td_onviapad": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"teardrop_parameters": [
|
|
||||||
{
|
|
||||||
"td_curve_segcount": 0,
|
|
||||||
"td_height_ratio": 1.0,
|
|
||||||
"td_length_ratio": 0.5,
|
|
||||||
"td_maxheight": 2.0,
|
|
||||||
"td_maxlen": 1.0,
|
|
||||||
"td_target_name": "td_round_shape",
|
|
||||||
"td_width_to_size_filter_ratio": 0.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"td_curve_segcount": 0,
|
|
||||||
"td_height_ratio": 1.0,
|
|
||||||
"td_length_ratio": 0.5,
|
|
||||||
"td_maxheight": 2.0,
|
|
||||||
"td_maxlen": 1.0,
|
|
||||||
"td_target_name": "td_rect_shape",
|
|
||||||
"td_width_to_size_filter_ratio": 0.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"td_curve_segcount": 0,
|
|
||||||
"td_height_ratio": 1.0,
|
|
||||||
"td_length_ratio": 0.5,
|
|
||||||
"td_maxheight": 2.0,
|
|
||||||
"td_maxlen": 1.0,
|
|
||||||
"td_target_name": "td_track_end",
|
|
||||||
"td_width_to_size_filter_ratio": 0.9
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"track_widths": [],
|
|
||||||
"via_dimensions": [],
|
|
||||||
"zones_allow_external_fillets": false
|
|
||||||
},
|
|
||||||
"layer_presets": [],
|
|
||||||
"viewports": []
|
|
||||||
},
|
|
||||||
"boards": [],
|
|
||||||
"cvpcb": {
|
|
||||||
"equivalence_files": []
|
|
||||||
},
|
|
||||||
"libraries": {
|
|
||||||
"pinned_footprint_libs": [],
|
|
||||||
"pinned_symbol_libs": []
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"filename": "Elysium.kicad_pro",
|
|
||||||
"version": 1
|
|
||||||
},
|
|
||||||
"net_settings": {
|
|
||||||
"classes": [
|
|
||||||
{
|
|
||||||
"bus_width": 12,
|
|
||||||
"clearance": 0.2,
|
|
||||||
"diff_pair_gap": 0.25,
|
|
||||||
"diff_pair_via_gap": 0.25,
|
|
||||||
"diff_pair_width": 0.2,
|
|
||||||
"line_style": 0,
|
|
||||||
"microvia_diameter": 0.3,
|
|
||||||
"microvia_drill": 0.1,
|
|
||||||
"name": "Default",
|
|
||||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
|
||||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
|
||||||
"track_width": 0.25,
|
|
||||||
"via_diameter": 0.8,
|
|
||||||
"via_drill": 0.4,
|
|
||||||
"wire_width": 6
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"meta": {
|
|
||||||
"version": 3
|
|
||||||
},
|
|
||||||
"net_colors": null,
|
|
||||||
"netclass_assignments": null,
|
|
||||||
"netclass_patterns": []
|
|
||||||
},
|
|
||||||
"pcbnew": {
|
|
||||||
"last_paths": {
|
|
||||||
"gencad": "",
|
|
||||||
"idf": "",
|
|
||||||
"netlist": "",
|
|
||||||
"specctra_dsn": "",
|
|
||||||
"step": "",
|
|
||||||
"vrml": ""
|
|
||||||
},
|
|
||||||
"page_layout_descr_file": ""
|
|
||||||
},
|
|
||||||
"schematic": {
|
|
||||||
"legacy_lib_dir": "",
|
|
||||||
"legacy_lib_list": []
|
|
||||||
},
|
|
||||||
"sheets": [],
|
|
||||||
"text_variables": {}
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
(kicad_sch (version 20230121) (generator eeschema)
|
|
||||||
(paper "A4")
|
|
||||||
(lib_symbols)
|
|
||||||
(symbol_instances)
|
|
||||||
)
|
|
92513
fp-info-cache
92513
fp-info-cache
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue