LCD and push buttons are the user interface. Select the step 1mA or 4mA, then press increase or decrease. MCU send the value 0-2500 to DAC and convert it to 0-2.5V. This voltage is reference voltage for the TL494. TL494 work as pulse width controller which sense voltage at the shunt resistor, in fact it works as current regulator instead of voltage regulator. 24VDC is generated by B0524LS-1W able to convert 3.3-5.5VDC to 24VDC/1W. You can add selection switch at the mA output so the generator can function external/internal power mode. The mA out is short circuit-proof in internal power mode. This circuit is designed to run on battery. If you have 24VDC source, DC/DC converter is not necessary to use but make sure the 24VDC source is isolated from the other system.
The source code can be viewed here https://docs.google.com/file/d/0Bz15eKH_erJrbkRrY1FFRzU2ZVE/edit