AxoObject API references


#1

Hi,
I started exploring Axoloti, my goal is to write also my own blocks (I don't need C, C++ and DSP tutorials). I have a couple of questions regarding getting started write axo objects.
Is there some getting started tutorial for coders which explains the steps to create a new object?
Does it exist some document or web page which illustrate the API ?

Thanks for your help.
Cheers,
Francesco


#2

Sorry, there is no formal documentation of the API, best is to look at existing objects.


#3

Are you saying there isn't even a list of classes/functions/variables available in axoloti?


#4

I think you need to look at some objects... and you'll see there really aren't any classes to use...

as for functions, again not many that you will use, if you look at existing objects you will find the ones you are after
but if you want a list...
look in the firmware directory, look at the axoloti_*.h header files.
of course using can also potentially use chibios functions.
the parameters are defined in parameters*.h and ui.h

for some of these things though, you will need to start looking at the code, to understand how these things works.

as for types, between objects, they are all int32_t, its just how they are interpreted.
(Q27 or Q31, you may want to read Q Number format

as a programmer, I know what you looking for, but once you dig into to axoloti, you'll see what your after doesn't really exist. its closer to the metal, not really an abstract api.

(thats not to say there isn't room for improvement on documentation if someone is willing to take up that challenge!)


#5

Thanks @thetechnobear , I know looking at objects is going to be useful but from time to time you just need to be able to see all of your options quickly. You're right, I'm looking for the stuff you'd want as a programmer, I did find some of what I was looking for on github :smile:


#6

From what I could read, audio seems to be using Q27. In wich situation is Q31 used ?


#7

its a while ago...
I half remember some of the firmware functions are q31. (e.g sin?), and also having confusion when dealing with phases of oscillators, so it may be those are in q31, so that they 'automatically' wrap around...
Ive a suspicion that its these maths/cycle type funcs (that range 1 to -1) that are q31, and Ive dealt with these Ive been doing audio, so sometimes got confused thinking audio is 1 to -1 is q31, but its not, its q27 to allow for headroom.
sorry, this is all off the top of my head, so may or may not be entirely accurate ... as I said, its been a while :wink:


#8

No worries. If 'most' is Q27, that's fine by me, especially since it's what I've always been using for my own projects :smiley: