diff --git a/.cproject b/.cproject
new file mode 100644
index 0000000..41efb61
--- /dev/null
+++ b/.cproject
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.project b/.project
new file mode 100644
index 0000000..84c1de5
--- /dev/null
+++ b/.project
@@ -0,0 +1,26 @@
+
+
+ buck_simulator
+
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ org.eclipse.cdt.core.cnature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml
new file mode 100644
index 0000000..3ed5de8
--- /dev/null
+++ b/.settings/language.settings.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/buck_emulator.c b/buck_emulator.c
new file mode 100644
index 0000000..dcefcfc
--- /dev/null
+++ b/buck_emulator.c
@@ -0,0 +1,62 @@
+/*
+ * buck_emulator.c
+ *
+ * Created on: 12 May 2025
+ * Author: Christian Lind Vie Madsen
+ */
+
+
+typedef struct {
+ float Vin; // Input voltage
+ float Vout; // Output voltage
+ float IL; // Inductor current
+ float L; // Inductance
+ float C; // Capacitance
+ float Rload; // Load resistance
+ float dt; // Time step (e.g., 25e-6)
+} BuckConverter;
+
+void simulate_step(BuckConverter *buck, float duty_cycle) {
+ float dIL = (buck->Vin * duty_cycle - buck->Vout) / buck->L;
+ buck->IL += dIL * buck->dt;
+
+ float dVout = (buck->IL - buck->Vout / buck->Rload) / buck->C;
+ buck->Vout += dVout * buck->dt;
+}
+
+/*
+int main() {
+ BuckConverter buck = {
+ .Vin = 12.0,
+ .Vout = 0.0,
+ .IL = 0.0,
+ .L = 100e-6,
+ .C = 100e-6,
+ .Rload = 10.0,
+ .dt = 25e-6
+ };
+
+ float duty_cycle = 0.5;
+ float Vref = 5.0;
+ float error, previous_error = 0, integral = 0;
+ float Kp = 0.2, Ki = 1000;
+
+ for (int i = 0; i < 40000; ++i) {
+ error = Vref - buck.Vout;
+ integral += error * buck.dt;
+
+ duty_cycle = Kp * error + Ki * integral;
+ if (duty_cycle > 1.0) duty_cycle = 1.0;
+ if (duty_cycle < 0.0) duty_cycle = 0.0;
+
+ simulate_step(&buck, duty_cycle);
+
+ // For debug:
+ if (i % 1000 == 0)
+ printf("Time: %.3f ms, Vout: %.2f V, IL: %.2f A, Duty: %.2f\n",
+ i * buck.dt * 1000, buck.Vout, buck.IL, duty_cycle);
+ }
+
+ return 0;
+}
+ */
diff --git a/main.c b/main.c
new file mode 100644
index 0000000..7258432
--- /dev/null
+++ b/main.c
@@ -0,0 +1,15 @@
+/*
+ * main.c
+ *
+ * Created on: 12 May 2025
+ * Author: Christian Lind Vie Madsen
+ */
+#include
+
+
+int main(void){
+
+
+
+
+}