Skip to content

Instantly share code, notes, and snippets.

View lcsc-filter-qty.js
tbody = document.querySelectorAll(".table-area tbody")[0];
i = tbody.children.length;
while (i--) {
child = tbody.children[i];
qty = child.children[3].firstChild.innerText.split('\n')[0];
//console.log(qty);
qtyint = parseInt(qty);
// Change 3000 here to preferred qty
if ((qtyint < 3000) || (qty == "Discontinued"))
View RP2040_Stamp.kicad_mod
(footprint "RP2040_Stamp" (version 20210228) (generator pcbnew) (layer "F.Cu")
(tedit 606DAF9F)
(fp_text reference "REF**" (at 0 -0.5 unlocked) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 7aa074a1-817f-4075-b862-25913493fa4a)
)
(fp_text value "RP2040_Stamp" (at 0 1 unlocked) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 34727f4e-1bf7-49d3-a44d-fd33d404b779)
)
View jlcpcb_smt.js
// config
var itemsPerPage = 25;
var filterZeroStock = true; // May screw with pagination and items per page
var filterExpanded = false; // Same as above
var sortBy = 'price'; // 'price' or 'stock'
// end of config
scope = angular.element(document).scope();
child = scope.$$childHead;
View jlcpcb_calc.js
// Results above this price will not be listed
var maxPrice = 50;
// Configurations that would result in more than this qty of boards will not get listed
var maxBoardQty = 500;
// Maximum number of panels to check for
var maxPanelQty = 50;
// Maximum number of boards in a panel, X and Y
var maxPanelSize = 10;
// Should the results be sorted by price per PCB, if false, they're sorted by total qty
var sortByPrice = true;
@arturo182
arturo182 / bom2grouped_csv_jlcpcb.xsl
Last active May 26, 2022
A KiCad BOM script for generating JLCPCB PCBA-compatible files!
View bom2grouped_csv_jlcpcb.xsl
<!--XSL style sheet to convert EESCHEMA XML Partlist Format to grouped CSV BOM Format
Copyright (C) 2014, Wolf Walter.
Copyright (C) 2013, Stefan Helmert.
Copyright (C) 2018, Kicad developers.
Copyright (C) 2019, arturo182.
GPL v2.
Functionality:
Generation of JLCPCB PCBA compatible BOM
View new_device.sh
# adding a new device
cd $HOME
# target
SFFE_SB2_TARGET=/parentroot/$MER_ROOT/targets/$VENDOR-$DEVICE-armv7hl
sudo mkdir -p $SFFE_SB2_TARGET
sudo tar --numeric-owner -pxjf Jolla-update9-Sailfish_SDK_Target-armv7hl.tar.bz2 -C $SFFE_SB2_TARGET
sudo chown -R $USER $SFFE_SB2_TARGET
cd $SFFE_SB2_TARGET
View gist:1700567
QDomDocument doc;
QDomProcessingInstruction process = doc.createProcessingInstruction("xml", "version=\"1.0\"");
doc.appendChild(process);
QDomElement stream = doc.createElementNS("http://etherx.jabber.org/streams", "stream");
stream.setPrefix("stream");
stream.setAttribute("xmlns", "jabber:client");
stream.setAttribute("to", "amessage.de");
doc.appendChild(stream);
View gist:1696419
^([A-Z0-9._%+-]+)@([A-Z0-9.-]+\.[A-Z]{2,6})(\/([A-Z0-9._%+-]+))?$
View gist:1635571
#include <iostream>
using namespace std;
class J
{
public:
J() { cout << "J::J()" << endl; }
J(const J&) { cout << "J::J(&J)" << endl; }
J& operator =(const J&) { cout << "J::operator=()" << endl; }