Matt RW

Results 14 comments of Matt RW

Hi All, I have a DSO5072 on Ubuntu 18.04 and tried to run the FirmwareExtractor. I got ``` mwette$ ./FirmwareExtractor dso5kp_func_dso5072p20190125.up bfd_check_format: File format not recognized ``` Then tried ```...

I am working on this now.

Right now the descriptor has two fields: one for the return descriptor and one for a list of param descriptors. This part is not guile-specific. Things are not working yet,...

I would also like to deal with varargs. So I lied in the prev' post. The parameters are a list of param-spec's. A param spec is one of: descriptor, name-descriptor...

Example using varargs: ``` (define printf-ptr (dynamic-func "printf" (dynamic-link))) (define printf-addr (ffi:pointer-address printf-ptr)) (define printf-desc (bs:pointer (bs:function int (list (bs:pointer 'void) '...)))) (define printf/b (bytestructure printf-desc printf-addr)) (define printf-ftn (bytestructure-ref...

And this works too: ``` (printf-ftn (ffi:string->pointer "sqrt(%f)=%f\n") (bs:cast double 4.0) (bs:cast double (sqrt-ftn/g 4.0))) ```

Note: I have forked scheme-bytestructures, added bytestructures/guile/function.scm and guile-function-test.scm, and modified bytestructures/guile.scm. It is not all perfect, but would you like me to submit a pull request?

I need to go back and review what I had again, and what's in nyacc. If it still looks worth it I will.

I originally wrote this descriptor to use Guile ffi descriptors. I am now converting to use base bytestructure descriptors (in the hope of being fully Guile-independent).

So, I have converted the function descriptor to use bs descriptors. I think the pointer descriptor may need to have a field for custom procedures to dereference. If I declare...